From 59c747841c9accc67026177fb776f7ab98236559 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 9 May 2022 22:01:27 +1000 Subject: [PATCH 001/134] Adds plugin mixin to "locate" items --- .../plugin/builtin/integration/mixins.py | 64 +++++++++++++++++++ InvenTree/plugin/mixins/__init__.py | 24 +++++-- 2 files changed, 82 insertions(+), 6 deletions(-) diff --git a/InvenTree/plugin/builtin/integration/mixins.py b/InvenTree/plugin/builtin/integration/mixins.py index b22efc9415..7a7c9c4404 100644 --- a/InvenTree/plugin/builtin/integration/mixins.py +++ b/InvenTree/plugin/builtin/integration/mixins.py @@ -432,6 +432,70 @@ class LabelPrintingMixin: ... # pragma: no cover +class LocateMixin: + """ + Mixin class which provides support for 'locating' inventory items, + for example identifying the location of a particular StockLocation. + + Plugins could implement audible or visual cues to direct attention to the location, + with (for e.g.) LED strips or buzzers, or some other method. + + The plugins may also be used to *deliver* a particular stock item to the user. + + A class which implements this mixin may implement the following methods: + + - locate_stock_item : Used to locate / identify a particular stock item + - locate_stock_location : Used to locate / identify a particular stock location + + Refer to the default method implementations below for more information! + + """ + + class MixinMeta: + MIXIN_NAME = "Locate" + + def __init__(self): + super().__init__() + self.add_mixin('localte', True, __class__) + + def locate_stock_item(self, item_pk): + """ + Attempt to locate a particular StockItem + + Arguments: + item_pk: The PK (primary key) of the StockItem to be located + + The default implementation for locating a StockItem + attempts to locate the StockLocation where the item is located. + + An attempt is only made if the StockItem is *in stock* + + Note: A custom implemenation could always change this behaviour + """ + + from stock.models import StockItem + + try: + item = StockItem.objects.get(pk=item_pk) + + if item.in_stock and item.location is not None: + self.locate_stock_location(item.location.pk) + + except StockItem.DoesNotExist: + pass + + def locate_stock_location(self, location_pk): + """ + Attempt to location a particular StockLocation + + Arguments: + location_pk: The PK (primary key) of the StockLocation to be located + + Note: The default implementation here does nothing! + """ + ... + + class APICallMixin: """ Mixin that enables easier API calls for a plugin diff --git a/InvenTree/plugin/mixins/__init__.py b/InvenTree/plugin/mixins/__init__.py index fdbe863e19..bf44e29897 100644 --- a/InvenTree/plugin/mixins/__init__.py +++ b/InvenTree/plugin/mixins/__init__.py @@ -2,7 +2,18 @@ Utility class to enable simpler imports """ -from ..builtin.integration.mixins import APICallMixin, AppMixin, LabelPrintingMixin, SettingsMixin, EventMixin, ScheduleMixin, UrlsMixin, NavigationMixin, PanelMixin +from ..builtin.integration.mixins import ( + APICallMixin, + AppMixin, + EventMixin, + LabelPrintingMixin, + LocateMixin, + NavigationMixin, + PanelMixin, + ScheduleMixin, + SettingsMixin, + UrlsMixin, +) from common.notifications import SingleNotificationMethod, BulkNotificationMethod @@ -10,17 +21,18 @@ from ..builtin.action.mixins import ActionMixin from ..builtin.barcode.mixins import BarcodeMixin __all__ = [ + 'ActionMixin', 'APICallMixin', 'AppMixin', + 'BarcodeMixin', + 'BulkNotificationMethod', 'EventMixin', 'LabelPrintingMixin', + 'LocateMixin', + 'PanelMixin', 'NavigationMixin', 'ScheduleMixin', 'SettingsMixin', - 'UrlsMixin', - 'PanelMixin', - 'ActionMixin', - 'BarcodeMixin', 'SingleNotificationMethod', - 'BulkNotificationMethod', + 'UrlsMixin', ] From 172705cc3bb55ee31cb3be509cf70f20ad245240 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 9 May 2022 22:13:07 +1000 Subject: [PATCH 002/134] Adds sample plugin for locating items --- .../plugin/samples/integration/locate.py | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 InvenTree/plugin/samples/integration/locate.py diff --git a/InvenTree/plugin/samples/integration/locate.py b/InvenTree/plugin/samples/integration/locate.py new file mode 100644 index 0000000000..37645da771 --- /dev/null +++ b/InvenTree/plugin/samples/integration/locate.py @@ -0,0 +1,34 @@ +""" +Sample plugin for locating stock items / locations. + +Note: This plugin does not *actually* locate anything! +""" + +import logging + +from plugin import IntegrationPluginBase +from plugin.mixins import LocateMixin + + +logger = logging.getLogger('inventree') + + +class SampleLocatePlugin(LocateMixin, IntegrationPluginBase): + + PLUGIN_NAME = "SampleLocatePlugin" + PLUGIN_SLUG = "samplelocate", + PLUGIN_TITLE = "Sample plugin for locating items" + + VERSION = "0.1" + + def locate_stock_location(self, location_pk): + + from stock.models import StockLocation + + logger.info(f"SampleLocatePlugin attempting to locate location ID {location_pk}") + + try: + location = StockLocation.objects.get(pk=location_pk) + logger.info(f"Location exists at '{location.pathstring}'") + except StockLocation.DoesNotExist: + logger.error(f"Location ID {location_pk} does not exist!") From 0a0a6a799ada9bb1db5bb0dca550fb3c8f3ff539 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 9 May 2022 22:20:00 +1000 Subject: [PATCH 003/134] Fix for sample plugin --- .../plugin/samples/integration/{locate.py => locate_sample.py} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename InvenTree/plugin/samples/integration/{locate.py => locate_sample.py} (96%) diff --git a/InvenTree/plugin/samples/integration/locate.py b/InvenTree/plugin/samples/integration/locate_sample.py similarity index 96% rename from InvenTree/plugin/samples/integration/locate.py rename to InvenTree/plugin/samples/integration/locate_sample.py index 37645da771..af1df17707 100644 --- a/InvenTree/plugin/samples/integration/locate.py +++ b/InvenTree/plugin/samples/integration/locate_sample.py @@ -16,7 +16,7 @@ logger = logging.getLogger('inventree') class SampleLocatePlugin(LocateMixin, IntegrationPluginBase): PLUGIN_NAME = "SampleLocatePlugin" - PLUGIN_SLUG = "samplelocate", + PLUGIN_SLUG = "samplelocate" PLUGIN_TITLE = "Sample plugin for locating items" VERSION = "0.1" From 6aeb7d723d595c291891f217489dc9adcf5fa23c Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 9 May 2022 22:25:09 +1000 Subject: [PATCH 004/134] Fix typo in mixin name --- InvenTree/plugin/builtin/integration/mixins.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/plugin/builtin/integration/mixins.py b/InvenTree/plugin/builtin/integration/mixins.py index 7a7c9c4404..84ed88c388 100644 --- a/InvenTree/plugin/builtin/integration/mixins.py +++ b/InvenTree/plugin/builtin/integration/mixins.py @@ -456,7 +456,7 @@ class LocateMixin: def __init__(self): super().__init__() - self.add_mixin('localte', True, __class__) + self.add_mixin('locate', True, __class__) def locate_stock_item(self, item_pk): """ From 26f32a0ce87b0ceb77064d0ab8957a2cb5a6d591 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 9 May 2022 22:33:33 +1000 Subject: [PATCH 005/134] Plugin list API filters - Filter by "active" status - Filter by "mixin" support --- InvenTree/plugin/api.py | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/InvenTree/plugin/api.py b/InvenTree/plugin/api.py index b9fd6e643d..29e8e4c603 100644 --- a/InvenTree/plugin/api.py +++ b/InvenTree/plugin/api.py @@ -7,9 +7,7 @@ from __future__ import unicode_literals from django.urls import include, re_path -from rest_framework import generics -from rest_framework import status -from rest_framework import permissions +from rest_framework import filters, generics, permissions, status from rest_framework.exceptions import NotFound from rest_framework.response import Response @@ -35,6 +33,35 @@ class PluginList(generics.ListAPIView): serializer_class = PluginSerializers.PluginConfigSerializer queryset = PluginConfig.objects.all() + def filter_queryset(self, queryset): + queryset = super().filter_queryset(queryset) + + params = self.request.query_params + + # Filter plugins which support a given mixin + mixin = params.get('mixin', None) + + if mixin: + matches = [] + + for result in queryset: + if mixin in result.mixins().keys(): + matches.append(result.pk) + + queryset = queryset.filter(pk__in=matches) + + return queryset + + filter_backends = [ + DjangoFilterBackend, + filters.SearchFilter, + filters.OrderingFilter, + ] + + filter_fields = [ + 'active', + ] + ordering_fields = [ 'key', 'name', From 256af802e27eaaafe2e7b6cdb54eb9ee4c9b284e Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 9 May 2022 22:35:46 +1000 Subject: [PATCH 006/134] Use the new 'mixin' filter to simplify request of label printer plugins --- InvenTree/templates/js/translated/label.js | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/InvenTree/templates/js/translated/label.js b/InvenTree/templates/js/translated/label.js index d19c403861..388509c8bf 100644 --- a/InvenTree/templates/js/translated/label.js +++ b/InvenTree/templates/js/translated/label.js @@ -236,17 +236,13 @@ function selectLabel(labels, items, options={}) { if (plugins_enabled) { inventreeGet( `/api/plugin/`, - {}, + { + mixin: 'labels', + }, { async: false, success: function(response) { - response.forEach(function(plugin) { - // Look for active plugins which implement the 'labels' mixin class - if (plugin.active && plugin.mixins && plugin.mixins.labels) { - // This plugin supports label printing - plugins.push(plugin); - } - }); + plugins = response; } } ); From 4704db5183f08d4c85c7aa961ebd554e5d4f5bd2 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 9 May 2022 22:48:26 +1000 Subject: [PATCH 007/134] Adds 'locate item' and 'locate location' buttons --- InvenTree/plugin/templatetags/plugin_extras.py | 6 ++++++ InvenTree/stock/templates/stock/item_base.html | 8 +++++++- InvenTree/stock/templates/stock/location.html | 9 +++++++++ InvenTree/templates/base.html | 1 + 4 files changed, 23 insertions(+), 1 deletion(-) diff --git a/InvenTree/plugin/templatetags/plugin_extras.py b/InvenTree/plugin/templatetags/plugin_extras.py index a30f7ec2e4..fbd6c483ae 100644 --- a/InvenTree/plugin/templatetags/plugin_extras.py +++ b/InvenTree/plugin/templatetags/plugin_extras.py @@ -44,6 +44,12 @@ def mixin_enabled(plugin, key, *args, **kwargs): """ return plugin.mixin_enabled(key) +@register.simple_tag() +def mixin_available(mixin, *args, **kwargs): + """ + Returns True if there is at least one active plugin which supports the provided mixin + """ + return len(registry.with_mixin(mixin)) > 0 @register.simple_tag() def navigation_enabled(*args, **kwargs): diff --git a/InvenTree/stock/templates/stock/item_base.html b/InvenTree/stock/templates/stock/item_base.html index 944e432026..2d7877acf4 100644 --- a/InvenTree/stock/templates/stock/item_base.html +++ b/InvenTree/stock/templates/stock/item_base.html @@ -1,5 +1,6 @@ {% extends "page_base.html" %} {% load static %} +{% load plugin_extras %} {% load inventree_extras %} {% load status_codes %} {% load i18n %} @@ -18,7 +19,6 @@ {% endblock breadcrumb_tree %} - {% block heading %} {% trans "Stock Item" %}: {{ item.part.full_name}} {% endblock heading %} @@ -29,6 +29,12 @@ {% url 'admin:stock_stockitem_change' item.pk as url %} {% include "admin_button.html" with url=url %} {% endif %} +{% mixin_available "locate" as locate_available %} +{% if plugins_enabled and locate_available %} + +{% endif %} {% if barcodes %}
diff --git a/InvenTree/stock/templates/stock/location.html b/InvenTree/stock/templates/stock/location.html index 61320a2676..1e4f144107 100644 --- a/InvenTree/stock/templates/stock/location.html +++ b/InvenTree/stock/templates/stock/location.html @@ -1,6 +1,7 @@ {% extends "stock/stock_app_base.html" %} {% load static %} {% load inventree_extras %} +{% load plugin_extras %} {% load i18n %} {% block sidebar %} @@ -27,6 +28,14 @@ {% include "admin_button.html" with url=url %} {% endif %} +{% mixin_available "locate" as locate_available %} +{% if plugins_enabled and locate_available %} + + +{% endif %} + {% if barcodes %} {% if location %} diff --git a/InvenTree/templates/base.html b/InvenTree/templates/base.html index 0d8272892a..795a5679aa 100644 --- a/InvenTree/templates/base.html +++ b/InvenTree/templates/base.html @@ -2,6 +2,7 @@ {% load i18n %} {% load inventree_extras %} +{% plugins_enabled as plugins_enabled %} {% settings_value 'BARCODE_ENABLE' as barcodes %} {% settings_value 'REPORT_ENABLE_TEST_REPORT' as test_report_enabled %} {% settings_value "REPORT_ENABLE" as report_enabled %} From 9b7c26ec9cd314744ec7da8ca02d4aa316d51844 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 9 May 2022 22:54:48 +1000 Subject: [PATCH 008/134] Bump API version --- InvenTree/InvenTree/api_version.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index 86f41816b2..4285f61efb 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -4,11 +4,16 @@ InvenTree API version information # InvenTree API version -INVENTREE_API_VERSION = 46 +INVENTREE_API_VERSION = 47 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v47 -> 2022-05-09 : https://github.com/inventree/InvenTree/pull/2957 + - Allows filtering of plugin list by 'active' status + - Allows filtering of plugin list by 'mixin' support + - Adds endpoint to "identify" or "locate" stock items and locations (using plugins) + v46 -> 2022-05-09 - Fixes read permissions on settings API - Allows non-staff users to read global settings via the API From 57f3efe7588ea4c76054198ed440bf2dfdfb443a Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 9 May 2022 23:42:28 +1000 Subject: [PATCH 009/134] Adds an endpoint for calling the plugin code to "locate" something --- InvenTree/InvenTree/api.py | 75 ++++++++++++++++++- InvenTree/InvenTree/urls.py | 3 +- .../plugin/builtin/integration/mixins.py | 3 + .../stock/templates/stock/item_base.html | 8 ++ InvenTree/templates/js/translated/plugin.js | 48 ++++++++++++ 5 files changed, 135 insertions(+), 2 deletions(-) diff --git a/InvenTree/InvenTree/api.py b/InvenTree/InvenTree/api.py index 171fe414d2..368f414da6 100644 --- a/InvenTree/InvenTree/api.py +++ b/InvenTree/InvenTree/api.py @@ -13,13 +13,18 @@ from django_filters.rest_framework import DjangoFilterBackend from rest_framework import filters from rest_framework import permissions +from rest_framework.exceptions import ParseError, NotFound from rest_framework.response import Response from rest_framework.views import APIView +from InvenTree.tasks import offload_task + from .views import AjaxView from .version import inventreeVersion, inventreeApiVersion, inventreeInstanceName from .status import is_worker_running +from stock.models import StockItem, StockLocation + from plugin import registry @@ -114,7 +119,75 @@ class ActionPluginView(APIView): return Response(plugin.get_response()) # If we got to here, no matching action was found - return Response({ + raise NotFound({ 'error': _("No matching action found"), "action": action, }) + + +class LocatePluginView(APIView): + """ + Endpoint for using a custom plugin to identify or 'locate' a stock item or location + """ + + permission_classes = [ + permissions.IsAuthenticated, + ] + + def post(self, request, *args, **kwargs): + + # Which plugin to we wish to use? + plugin = request.data.get('plugin', None) + + if not plugin: + raise ParseError("'plugin' field must be supplied") + + # Check that the plugin exists, and supports the 'locate' mixin + plugins = registry.with_mixin('locate') + + if plugin not in [p.slug for p in plugins]: + raise ParseError(f"Plugin '{plugin}' is not installed, or does not support the location mixin") + + # StockItem to identify + item_pk= request.data.get('item', None) + + # StockLocation to identify + location_pk = request.data.get('location', None) + + if not item_pk and not location_pk: + raise ParseError("Must supply either 'item' or 'location' parameter") + + data = { + "success": "Identification plugin activated", + "plugin": plugin, + } + + # StockItem takes priority + if item_pk: + try: + item = StockItem.objects.get(pk=item_pk) + + offload_task('plugin.registry.call_function', plugin, 'locate_stock_item', item_pk) + + data['item'] = item_pk + + return Response(data) + + except StockItem.DoesNotExist: + raise NotFound("StockItem matching PK '{item}' not found") + + elif location_pk: + try: + location = StockItem.objects.get(pk=location_pk) + + offload_task('plugin.registry.call_function', plugin, 'locate_stock_location', location_pk) + + data['location'] = location_pk + + return Response(data) + + except StockLocation.DoesNotExist: + raise NotFound("StockLocation matching PK {'location'} not found") + + else: + raise NotFound() diff --git a/InvenTree/InvenTree/urls.py b/InvenTree/InvenTree/urls.py index 2b31d7c3b5..62524be89e 100644 --- a/InvenTree/InvenTree/urls.py +++ b/InvenTree/InvenTree/urls.py @@ -45,7 +45,7 @@ from .views import DynamicJsView from .views import NotificationsView from .api import InfoView, NotFoundView -from .api import ActionPluginView +from .api import ActionPluginView, LocatePluginView from users.api import user_urls @@ -75,6 +75,7 @@ apipatterns += [ # Plugin endpoints re_path(r'^action/', ActionPluginView.as_view(), name='api-action-plugin'), + re_path(r'^locate/', LocatePluginView.as_view(), name='api-locate-plugin'), # Webhook enpoint path('', include(common_api_urls)), diff --git a/InvenTree/plugin/builtin/integration/mixins.py b/InvenTree/plugin/builtin/integration/mixins.py index 84ed88c388..fc8bcce296 100644 --- a/InvenTree/plugin/builtin/integration/mixins.py +++ b/InvenTree/plugin/builtin/integration/mixins.py @@ -473,6 +473,8 @@ class LocateMixin: Note: A custom implemenation could always change this behaviour """ + logger.info(f"LocateMixin: Attempting to locate StockItem pk={item_pk}") + from stock.models import StockItem try: @@ -482,6 +484,7 @@ class LocateMixin: self.locate_stock_location(item.location.pk) except StockItem.DoesNotExist: + logger.warning("LocateMixin: StockItem pk={item_pk} not found") pass def locate_stock_location(self, location_pk): diff --git a/InvenTree/stock/templates/stock/item_base.html b/InvenTree/stock/templates/stock/item_base.html index 2d7877acf4..cd0f8f00de 100644 --- a/InvenTree/stock/templates/stock/item_base.html +++ b/InvenTree/stock/templates/stock/item_base.html @@ -520,6 +520,14 @@ $("#barcode-scan-into-location").click(function() { }); }); +{% if plugins_enabled %} +$('#locate-item-button').click(function() { + locateItemOrLocation({ + item: {{ item.pk }}, + }); +}); +{% endif %} + function itemAdjust(action) { inventreeGet( diff --git a/InvenTree/templates/js/translated/plugin.js b/InvenTree/templates/js/translated/plugin.js index c612dd1e8c..cac44222be 100644 --- a/InvenTree/templates/js/translated/plugin.js +++ b/InvenTree/templates/js/translated/plugin.js @@ -7,6 +7,7 @@ /* exported installPlugin, + locateItemOrLocation */ function installPlugin() { @@ -24,3 +25,50 @@ function installPlugin() { } }); } + + +function locateItemOrLocation(options={}) { + + if (!options.item && !options.location) { + console.error("locateItemOrLocation: Either 'item' or 'location' must be provided!"); + return; + } + + function performLocate(plugin) { + inventreePut( + '{% url "api-locate-plugin" %}', + { + plugin: plugin, + item: options.item, + location: options.location, + }, + { + method: 'POST', + }, + ); + } + + // Request the list of available 'locate' plugins + inventreeGet( + '{% url "api-plugin-list" %}', + { + mixin: 'locate', + }, + { + success: function(plugins) { + // No 'locate' plugins are available! + if (plugins.length == 0) { + console.warn("No 'locate' plugins are available"); + } else if (plugins.length == 1) { + // Only a single locate plugin is available + performLocate(plugins[0].key); + } else { + // More than 1 location plugin available + // Select from a list + } + } + }, + ); +} + + From 224092e192c5b45fe22ea88428bb81719ac00d71 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 9 May 2022 23:44:58 +1000 Subject: [PATCH 010/134] Fix typo --- InvenTree/InvenTree/api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/api.py b/InvenTree/InvenTree/api.py index 368f414da6..d5c9e6b38e 100644 --- a/InvenTree/InvenTree/api.py +++ b/InvenTree/InvenTree/api.py @@ -178,7 +178,7 @@ class LocatePluginView(APIView): elif location_pk: try: - location = StockItem.objects.get(pk=location_pk) + location = StockLocation.objects.get(pk=location_pk) offload_task('plugin.registry.call_function', plugin, 'locate_stock_location', location_pk) From 35fbb910e851e09a1d3b886e9823edb25043ac47 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 9 May 2022 23:45:29 +1000 Subject: [PATCH 011/134] Enable button for locating a StockLocation --- InvenTree/stock/templates/stock/location.html | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/InvenTree/stock/templates/stock/location.html b/InvenTree/stock/templates/stock/location.html index 1e4f144107..ee27c6fe23 100644 --- a/InvenTree/stock/templates/stock/location.html +++ b/InvenTree/stock/templates/stock/location.html @@ -215,6 +215,14 @@ {% block js_ready %} {{ block.super }} + {% if plugins_enabled and location %} + $('#locate-location-button').click(function() { + locateItemOrLocation({ + location: {{ location.pk }}, + }); + }); + {% endif %} + onPanelLoad('sublocations', function() { loadStockLocationTable($('#sublocation-table'), { params: { From 6c0661a6f2c0aca0ac7f31c27180562a2d31486c Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 9 May 2022 23:52:19 +1000 Subject: [PATCH 012/134] PEP style fixes --- InvenTree/InvenTree/api.py | 12 ++++++------ InvenTree/plugin/api.py | 2 +- InvenTree/plugin/builtin/integration/mixins.py | 8 ++++---- InvenTree/plugin/templatetags/plugin_extras.py | 2 ++ 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/InvenTree/InvenTree/api.py b/InvenTree/InvenTree/api.py index d5c9e6b38e..bcec1f4a5d 100644 --- a/InvenTree/InvenTree/api.py +++ b/InvenTree/InvenTree/api.py @@ -138,7 +138,7 @@ class LocatePluginView(APIView): # Which plugin to we wish to use? plugin = request.data.get('plugin', None) - + if not plugin: raise ParseError("'plugin' field must be supplied") @@ -146,10 +146,10 @@ class LocatePluginView(APIView): plugins = registry.with_mixin('locate') if plugin not in [p.slug for p in plugins]: - raise ParseError(f"Plugin '{plugin}' is not installed, or does not support the location mixin") + raise ParseError(f"Plugin '{plugin}' is not installed, or does not support the location mixin") # StockItem to identify - item_pk= request.data.get('item', None) + item_pk = request.data.get('item', None) # StockLocation to identify location_pk = request.data.get('location', None) @@ -165,7 +165,7 @@ class LocatePluginView(APIView): # StockItem takes priority if item_pk: try: - item = StockItem.objects.get(pk=item_pk) + StockItem.objects.get(pk=item_pk) offload_task('plugin.registry.call_function', plugin, 'locate_stock_item', item_pk) @@ -175,10 +175,10 @@ class LocatePluginView(APIView): except StockItem.DoesNotExist: raise NotFound("StockItem matching PK '{item}' not found") - + elif location_pk: try: - location = StockLocation.objects.get(pk=location_pk) + StockLocation.objects.get(pk=location_pk) offload_task('plugin.registry.call_function', plugin, 'locate_stock_location', location_pk) diff --git a/InvenTree/plugin/api.py b/InvenTree/plugin/api.py index 29e8e4c603..22df8f2ac3 100644 --- a/InvenTree/plugin/api.py +++ b/InvenTree/plugin/api.py @@ -47,7 +47,7 @@ class PluginList(generics.ListAPIView): for result in queryset: if mixin in result.mixins().keys(): matches.append(result.pk) - + queryset = queryset.filter(pk__in=matches) return queryset diff --git a/InvenTree/plugin/builtin/integration/mixins.py b/InvenTree/plugin/builtin/integration/mixins.py index fc8bcce296..3bde6f217d 100644 --- a/InvenTree/plugin/builtin/integration/mixins.py +++ b/InvenTree/plugin/builtin/integration/mixins.py @@ -453,11 +453,11 @@ class LocateMixin: class MixinMeta: MIXIN_NAME = "Locate" - + def __init__(self): super().__init__() self.add_mixin('locate', True, __class__) - + def locate_stock_item(self, item_pk): """ Attempt to locate a particular StockItem @@ -490,10 +490,10 @@ class LocateMixin: def locate_stock_location(self, location_pk): """ Attempt to location a particular StockLocation - + Arguments: location_pk: The PK (primary key) of the StockLocation to be located - + Note: The default implementation here does nothing! """ ... diff --git a/InvenTree/plugin/templatetags/plugin_extras.py b/InvenTree/plugin/templatetags/plugin_extras.py index fbd6c483ae..d183ae5483 100644 --- a/InvenTree/plugin/templatetags/plugin_extras.py +++ b/InvenTree/plugin/templatetags/plugin_extras.py @@ -44,6 +44,7 @@ def mixin_enabled(plugin, key, *args, **kwargs): """ return plugin.mixin_enabled(key) + @register.simple_tag() def mixin_available(mixin, *args, **kwargs): """ @@ -51,6 +52,7 @@ def mixin_available(mixin, *args, **kwargs): """ return len(registry.with_mixin(mixin)) > 0 + @register.simple_tag() def navigation_enabled(*args, **kwargs): """ From 5ea115ae83ac2839a735cf34dff89c70e189d406 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 10 May 2022 01:18:36 +1000 Subject: [PATCH 013/134] hard code url --- InvenTree/templates/js/translated/plugin.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/templates/js/translated/plugin.js b/InvenTree/templates/js/translated/plugin.js index cac44222be..87415b74dc 100644 --- a/InvenTree/templates/js/translated/plugin.js +++ b/InvenTree/templates/js/translated/plugin.js @@ -50,7 +50,7 @@ function locateItemOrLocation(options={}) { // Request the list of available 'locate' plugins inventreeGet( - '{% url "api-plugin-list" %}', + `/api/plugin/`, { mixin: 'locate', }, From 26499816c1a5b1bc3d28b193e65d48b7a56cae29 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 10 May 2022 08:12:04 +1000 Subject: [PATCH 014/134] javascript lint --- InvenTree/templates/js/translated/plugin.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/InvenTree/templates/js/translated/plugin.js b/InvenTree/templates/js/translated/plugin.js index 87415b74dc..62555c8ff4 100644 --- a/InvenTree/templates/js/translated/plugin.js +++ b/InvenTree/templates/js/translated/plugin.js @@ -30,7 +30,7 @@ function installPlugin() { function locateItemOrLocation(options={}) { if (!options.item && !options.location) { - console.error("locateItemOrLocation: Either 'item' or 'location' must be provided!"); + console.error(`locateItemOrLocation: Either 'item' or 'location' must be provided!`); return; } @@ -58,7 +58,7 @@ function locateItemOrLocation(options={}) { success: function(plugins) { // No 'locate' plugins are available! if (plugins.length == 0) { - console.warn("No 'locate' plugins are available"); + console.warn(`No 'locate' plugins are available`); } else if (plugins.length == 1) { // Only a single locate plugin is available performLocate(plugins[0].key); From a17ea3ac102ad2e8fef31a9788444331508a30d8 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 10 May 2022 08:31:40 +1000 Subject: [PATCH 015/134] Change "identify" to "locate" for consistency with the app --- InvenTree/stock/templates/stock/item_base.html | 2 +- InvenTree/stock/templates/stock/location.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/InvenTree/stock/templates/stock/item_base.html b/InvenTree/stock/templates/stock/item_base.html index cd0f8f00de..da4b832266 100644 --- a/InvenTree/stock/templates/stock/item_base.html +++ b/InvenTree/stock/templates/stock/item_base.html @@ -31,7 +31,7 @@ {% endif %} {% mixin_available "locate" as locate_available %} {% if plugins_enabled and locate_available %} - {% endif %} diff --git a/InvenTree/stock/templates/stock/location.html b/InvenTree/stock/templates/stock/location.html index ee27c6fe23..14d5fbfa4d 100644 --- a/InvenTree/stock/templates/stock/location.html +++ b/InvenTree/stock/templates/stock/location.html @@ -30,7 +30,7 @@ {% mixin_available "locate" as locate_available %} {% if plugins_enabled and locate_available %} - From af8bddf690f320ea78d2ca0a5eb9d228154ef099 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Thu, 12 May 2022 02:30:37 +0200 Subject: [PATCH 016/134] fix boolean comp --- InvenTree/InvenTree/apps.py | 2 +- InvenTree/InvenTree/helpers.py | 6 +++--- InvenTree/InvenTree/metadata.py | 2 +- InvenTree/InvenTree/models.py | 2 +- InvenTree/InvenTree/settings.py | 2 +- InvenTree/InvenTree/tasks.py | 6 +++--- InvenTree/InvenTree/views.py | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/InvenTree/InvenTree/apps.py b/InvenTree/InvenTree/apps.py index 3531cc11d7..55a738622b 100644 --- a/InvenTree/InvenTree/apps.py +++ b/InvenTree/InvenTree/apps.py @@ -131,7 +131,7 @@ class InvenTreeConfig(AppConfig): update = True # Backend currency has changed? - if not base_currency == backend.base_currency: + if base_currency != backend.base_currency: logger.info(f"Base currency changed from {backend.base_currency} to {base_currency}") update = True diff --git a/InvenTree/InvenTree/helpers.py b/InvenTree/InvenTree/helpers.py index 36cd288232..9e6e24acb8 100644 --- a/InvenTree/InvenTree/helpers.py +++ b/InvenTree/InvenTree/helpers.py @@ -224,7 +224,7 @@ def increment(n): groups = result.groups() # If we cannot match the regex, then simply return the provided value - if not len(groups) == 2: + if len(groups) != 2: return value prefix, number = groups @@ -536,7 +536,7 @@ def extract_serial_numbers(serials, expected_quantity, next_number: int): raise ValidationError([_("No serial numbers found")]) # The number of extracted serial numbers must match the expected quantity - if not expected_quantity == len(numbers): + if expected_quantity != len(numbers): raise ValidationError([_("Number of unique serial numbers ({s}) must match quantity ({q})").format(s=len(numbers), q=expected_quantity)]) return numbers @@ -575,7 +575,7 @@ def validateFilterString(value, model=None): pair = group.split('=') - if not len(pair) == 2: + if len(pair) != 2: raise ValidationError( "Invalid group: {g}".format(g=group) ) diff --git a/InvenTree/InvenTree/metadata.py b/InvenTree/InvenTree/metadata.py index c3ae8f6127..ae520e9dcb 100644 --- a/InvenTree/InvenTree/metadata.py +++ b/InvenTree/InvenTree/metadata.py @@ -250,7 +250,7 @@ class InvenTreeMetadata(SimpleMetadata): field_info = super().get_field_info(field) # If a default value is specified for the serializer field, add it! - if 'default' not in field_info and not field.default == empty: + if 'default' not in field_info and field.default != empty: field_info['default'] = field.get_default() # Force non-nullable fields to read as "required" diff --git a/InvenTree/InvenTree/models.py b/InvenTree/InvenTree/models.py index 99232519dc..92db2012f8 100644 --- a/InvenTree/InvenTree/models.py +++ b/InvenTree/InvenTree/models.py @@ -259,7 +259,7 @@ class InvenTreeAttachment(models.Model): new_file = os.path.abspath(new_file) # Check that there are no directory tricks going on... - if not os.path.dirname(new_file) == attachment_dir: + if os.path.dirname(new_file) != attachment_dir: logger.error(f"Attempted to rename attachment outside valid directory: '{new_file}'") raise ValidationError(_("Invalid attachment directory")) diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index 2817664908..cba4ab4c6a 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -658,7 +658,7 @@ AUTH_PASSWORD_VALIDATORS = [ EXTRA_URL_SCHEMES = CONFIG.get('extra_url_schemes', []) -if not type(EXTRA_URL_SCHEMES) in [list]: # pragma: no cover +if type(EXTRA_URL_SCHEMES) not in [list]: # pragma: no cover logger.warning("extra_url_schemes not correctly formatted") EXTRA_URL_SCHEMES = [] diff --git a/InvenTree/InvenTree/tasks.py b/InvenTree/InvenTree/tasks.py index c156d421ab..49a4049be5 100644 --- a/InvenTree/InvenTree/tasks.py +++ b/InvenTree/InvenTree/tasks.py @@ -204,7 +204,7 @@ def check_for_updates(): response = requests.get('https://api.github.com/repos/inventree/inventree/releases/latest') - if not response.status_code == 200: + if response.status_code != 200: raise ValueError(f'Unexpected status code from GitHub API: {response.status_code}') data = json.loads(response.text) @@ -216,13 +216,13 @@ def check_for_updates(): match = re.match(r"^.*(\d+)\.(\d+)\.(\d+).*$", tag) - if not len(match.groups()) == 3: + if len(match.groups()) != 3: logger.warning(f"Version '{tag}' did not match expected pattern") return latest_version = [int(x) for x in match.groups()] - if not len(latest_version) == 3: + if len(latest_version) != 3: raise ValueError(f"Version '{tag}' is not correct format") logger.info(f"Latest InvenTree version: '{tag}'") diff --git a/InvenTree/InvenTree/views.py b/InvenTree/InvenTree/views.py index 6291b321a8..d70752ad00 100644 --- a/InvenTree/InvenTree/views.py +++ b/InvenTree/InvenTree/views.py @@ -627,7 +627,7 @@ class SetPasswordView(AjaxUpdateView): if valid: # Passwords must match - if not p1 == p2: + if p1 != p2: error = _('Password fields must match') form.add_error('enter_password', error) form.add_error('confirm_password', error) From 495798dc98e5f3154db4b8e4b5f7cb2c664ee9ed Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sun, 15 May 2022 23:20:12 +1000 Subject: [PATCH 017/134] Install libwebp-dev as part of dockerfile --- docker/Dockerfile | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index cefd2c2b61..4c6a351adc 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -62,7 +62,7 @@ RUN apk -U upgrade RUN apk add --no-cache git make bash \ gcc libgcc g++ libstdc++ \ gnupg \ - libjpeg-turbo libjpeg-turbo-dev jpeg jpeg-dev \ + libjpeg-turbo libjpeg-turbo-dev jpeg jpeg-dev libwebp-dev \ libffi libffi-dev \ zlib zlib-dev \ # Special deps for WeasyPrint (these will be deprecated once WeasyPrint drops cairo requirement) diff --git a/requirements.txt b/requirements.txt index 5065b4f877..2369b18b44 100644 --- a/requirements.txt +++ b/requirements.txt @@ -38,7 +38,7 @@ importlib_metadata # Backport for importlib.metadata inventree # Install the latest version of the InvenTree API python library markdown==3.3.4 # Force particular version of markdown pep8-naming==0.11.1 # PEP naming convention extension -pillow==9.0.1 # Image manipulation +pillow==9.1.0 # Image manipulation py-moneyed==0.8.0 # Specific version requirement for py-moneyed pygments==2.7.4 # Syntax highlighting python-barcode[images]==0.13.1 # Barcode generator From 55f87033b25fd9e684c1d53ba281b09f1cc5ccf9 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sun, 15 May 2022 23:36:41 +1000 Subject: [PATCH 018/134] Add unit tests for .webp support --- InvenTree/part/test_api.py | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/InvenTree/part/test_api.py b/InvenTree/part/test_api.py index f0770eb1f5..4e4162341a 100644 --- a/InvenTree/part/test_api.py +++ b/InvenTree/part/test_api.py @@ -970,24 +970,29 @@ class PartDetailTests(InvenTreeAPITestCase): ) self.assertEqual(response.status_code, 400) + self.assertIn('Upload a valid image', str(response.data)) - # Now try to upload a valid image file - img = PIL.Image.new('RGB', (128, 128), color='red') - img.save('dummy_image.jpg') + # Now try to upload a valid image file, in multiple formats + for fmt in ['jpg', 'png', 'bmp', 'webp']: + fn = f'dummy_image.{fmt}' - with open('dummy_image.jpg', 'rb') as dummy_image: - response = upload_client.patch( - url, - { - 'image': dummy_image, - }, - format='multipart', - ) + img = PIL.Image.new('RGB', (128, 128), color='red') + img.save(fn) - self.assertEqual(response.status_code, 200) + with open(fn, 'rb') as dummy_image: + response = upload_client.patch( + url, + { + 'image': dummy_image, + }, + format='multipart', + ) - # And now check that the image has been set - p = Part.objects.get(pk=pk) + self.assertEqual(response.status_code, 200) + + # And now check that the image has been set + p = Part.objects.get(pk=pk) + self.assertIsNotNone(p.image) def test_details(self): """ From 47269a88d2d04dc2457e5b6bb7f17c3868595640 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sun, 15 May 2022 23:37:01 +1000 Subject: [PATCH 019/134] Ensure unit tests are run within a docker context as part of CI builds --- .github/workflows/docker_test.yaml | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/.github/workflows/docker_test.yaml b/.github/workflows/docker_test.yaml index d96621ee66..69fbb48fe7 100644 --- a/.github/workflows/docker_test.yaml +++ b/.github/workflows/docker_test.yaml @@ -3,9 +3,8 @@ # This CI action runs on pushes to either the master or stable branches # 1. Build the development docker image (as per the documentation) -# 2. Install requied python libs into the docker container -# 3. Launch the container -# 4. Check that the API endpoint is available +# 2. Launch the development server, and update the installation +# 3. Run unit tests within the docker context name: Docker Test @@ -15,6 +14,10 @@ on: - 'master' - 'stable' + pull_request: + branches-ignore: + - l10* + jobs: docker: @@ -26,12 +29,14 @@ jobs: - name: Build Docker Image run: | cd docker - docker-compose -f docker-compose.sqlite.yml build - docker-compose -f docker-compose.sqlite.yml run inventree-dev-server invoke update - docker-compose -f docker-compose.sqlite.yml up -d - - name: Sleepy Time - run: sleep 60 - - name: Test API + docker-compose build + docker-compose run inventree-dev-server invoke update + docker-compose up -d + - name: Wait for Server run: | - pip install requests - python3 ci/check_api_endpoint.py + cd docker + docker-compose run inventree-dev-server invoke wait + - name: Run unit tests + run: | + cd docker + docker-compose run inventree-dev-server invoke test From 55b909a1dedd53b86fa9d02bdbc3a67c610a6940 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Sun, 15 May 2022 15:56:08 +0200 Subject: [PATCH 020/134] fix new lines --- .github/workflows/welcome.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/welcome.yml b/.github/workflows/welcome.yml index 4501209ff9..5be20aefe7 100644 --- a/.github/workflows/welcome.yml +++ b/.github/workflows/welcome.yml @@ -16,5 +16,10 @@ jobs: - uses: actions/first-interaction@v1 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - issue-message: 'Welcome to InvenTree! Please check the [contributing docs](https://inventree.readthedocs.io/en/latest/contribute/) on how to help.\nIf you experience setup / install issues please read all [install docs]( https://inventree.readthedocs.io/en/latest/start/intro/).' - pr-message: 'This is your first PR, welcome!\nPlease check [Contributing](https://github.com/inventree/InvenTree/blob/master/CONTRIBUTING.md) to make sure your submission fits our general code-style and workflow.\nMake sure to document why this PR is needed and to link connected issues so we can review it faster.' + issue-message: | + Welcome to InvenTree! Please check the [contributing docs](https://inventree.readthedocs.io/en/latest/contribute/) on how to help. + If you experience setup / install issues please read all [install docs]( https://inventree.readthedocs.io/en/latest/start/intro/). + pr-message: | + This is your first PR, welcome! + Please check [Contributing](https://github.com/inventree/InvenTree/blob/master/CONTRIBUTING.md) to make sure your submission fits our general code-style and workflow. + Make sure to document why this PR is needed and to link connected issues so we can review it faster. From e83f9ead0ab0a5bb0c7e3aacdc366775d3dc4ecf Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Sun, 15 May 2022 15:58:20 +0200 Subject: [PATCH 021/134] update tags to new names --- .github/workflows/stale.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 278e5139e5..4f21c1e8be 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -19,7 +19,7 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} stale-issue-message: 'This issue seems stale. Please react to show this is still important.' stale-pr-message: 'This PR seems stale. Please react to show this is still important.' - stale-issue-label: 'no-activity' - stale-pr-label: 'no-activity' + stale-issue-label: 'inactive' + stale-pr-label: 'inactive' start-date: '2022-01-01' exempt-all-milestones: true From 40513c556daca23a502f83bfb4bed688f75647e6 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 16 May 2022 00:10:50 +1000 Subject: [PATCH 022/134] Remove locate button from top-level stock location --- InvenTree/stock/templates/stock/location.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/stock/templates/stock/location.html b/InvenTree/stock/templates/stock/location.html index 14d5fbfa4d..1066adf6ea 100644 --- a/InvenTree/stock/templates/stock/location.html +++ b/InvenTree/stock/templates/stock/location.html @@ -29,7 +29,7 @@ {% endif %} {% mixin_available "locate" as locate_available %} -{% if plugins_enabled and locate_available %} +{% if location and plugins_enabled and locate_available %} From eebdad154ac720b43027c5305632a1e37c7bd274 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 16 May 2022 00:12:33 +1000 Subject: [PATCH 023/134] PEP fixes --- InvenTree/InvenTree/api.py | 2 -- InvenTree/plugin/base/locate/mixins.py | 1 - 2 files changed, 3 deletions(-) diff --git a/InvenTree/InvenTree/api.py b/InvenTree/InvenTree/api.py index caaccdc384..9d901516d5 100644 --- a/InvenTree/InvenTree/api.py +++ b/InvenTree/InvenTree/api.py @@ -14,8 +14,6 @@ from rest_framework import filters from rest_framework import permissions -from InvenTree.tasks import offload_task - from .views import AjaxView from .version import inventreeVersion, inventreeApiVersion, inventreeInstanceName from .status import is_worker_running diff --git a/InvenTree/plugin/base/locate/mixins.py b/InvenTree/plugin/base/locate/mixins.py index dbacda12a7..3f91b998c5 100644 --- a/InvenTree/plugin/base/locate/mixins.py +++ b/InvenTree/plugin/base/locate/mixins.py @@ -7,7 +7,6 @@ from plugin.helpers import MixinImplementationError logger = logging.getLogger('inventree') - class LocateMixin: """ Mixin class which provides support for 'locating' inventory items, From 206da0232867c8f3b0574649012c8d4337640e4b Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 16 May 2022 00:21:05 +1000 Subject: [PATCH 024/134] Skip some git hash checks if running tests under docker --- InvenTree/part/test_part.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/InvenTree/part/test_part.py b/InvenTree/part/test_part.py index 5932c36757..2241b68c0d 100644 --- a/InvenTree/part/test_part.py +++ b/InvenTree/part/test_part.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals from allauth.account.models import EmailAddress +from django.conf import settings from django.contrib.auth import get_user_model from django.test import TestCase @@ -67,11 +68,21 @@ class TemplateTagTest(TestCase): def test_hash(self): result_hash = inventree_extras.inventree_commit_hash() - self.assertGreater(len(result_hash), 5) + if settings.DOCKER: + # Testing inside docker environment *may* return an empty git commit hash + # In such a case, skip this check + pass + else: + self.assertGreater(len(result_hash), 5) def test_date(self): d = inventree_extras.inventree_commit_date() - self.assertEqual(len(d.split('-')), 3) + if settings.DOCKER: + # Testing inside docker environment *may* return an empty git commit hash + # In such a case, skip this check + pass + else: + self.assertEqual(len(d.split('-')), 3) def test_github(self): self.assertIn('github.com', inventree_extras.inventree_github_url()) From 818be32e319a8253f4833b387d724bf8cac75d97 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 16 May 2022 00:35:34 +1000 Subject: [PATCH 025/134] Move location plugin sample into its own directory --- InvenTree/plugin/samples/locate/__init__.py | 0 InvenTree/plugin/samples/{integration => locate}/locate_sample.py | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 InvenTree/plugin/samples/locate/__init__.py rename InvenTree/plugin/samples/{integration => locate}/locate_sample.py (100%) diff --git a/InvenTree/plugin/samples/locate/__init__.py b/InvenTree/plugin/samples/locate/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/InvenTree/plugin/samples/integration/locate_sample.py b/InvenTree/plugin/samples/locate/locate_sample.py similarity index 100% rename from InvenTree/plugin/samples/integration/locate_sample.py rename to InvenTree/plugin/samples/locate/locate_sample.py From 097afed78e8c25e103c78c37603706f3874c1fde Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 16 May 2022 00:45:16 +1000 Subject: [PATCH 026/134] Adds metadata mixin class for adding JSON field to internal tables - Add metadata field to stocklocation - Add metadata field to stockitem --- InvenTree/plugin/models.py | 24 +++++++++++++++++ .../migrations/0075_auto_20220515_1440.py | 27 +++++++++++++++++++ InvenTree/stock/models.py | 5 ++-- 3 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 InvenTree/stock/migrations/0075_auto_20220515_1440.py diff --git a/InvenTree/plugin/models.py b/InvenTree/plugin/models.py index 3d2d143eea..d84136c2bf 100644 --- a/InvenTree/plugin/models.py +++ b/InvenTree/plugin/models.py @@ -16,6 +16,30 @@ import common.models from plugin import InvenTreePlugin, registry +class MetadataMixin(models.Model): + """ + Model mixin class which adds a JSON metadata field to a model, + for use by any (and all) plugins. + + The intent of this mixin is to provide a metadata field on a model instance, + for plugins to read / modify as required, to store any extra information. + + The assumptions for models implementing this mixin are: + + - The internal InvenTree business logic will make no use of this field + - Multiple plugins may read / write to this metadata field, and not assume they have sole rights + """ + + class Meta: + abstract = True + + metadata = models.JSONField( + blank=True, null=True, + verbose_name=_('Plugin Metadata'), + help_text=_('JSON metadata field, for use by external plugins'), + ) + + class PluginConfig(models.Model): """ A PluginConfig object holds settings for plugins. diff --git a/InvenTree/stock/migrations/0075_auto_20220515_1440.py b/InvenTree/stock/migrations/0075_auto_20220515_1440.py new file mode 100644 index 0000000000..814a97edb3 --- /dev/null +++ b/InvenTree/stock/migrations/0075_auto_20220515_1440.py @@ -0,0 +1,27 @@ +# Generated by Django 3.2.13 on 2022-05-15 14:40 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('stock', '0074_alter_stockitem_batch'), + ] + + operations = [ + migrations.AddField( + model_name='stockitem', + name='metadata', + field=models.JSONField(blank=True, help_text='JSON metadata field, for use by external plugins', null=True, verbose_name='Plugin Metadata'), + ), + migrations.AddField( + model_name='stocklocation', + name='metadata', + field=models.JSONField(blank=True, help_text='JSON metadata field, for use by external plugins', null=True, verbose_name='Plugin Metadata'), + ), + migrations.AlterUniqueTogether( + name='stocklocation', + unique_together=set(), + ), + ] diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index a46d43b007..acd021caa6 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -38,6 +38,7 @@ import common.models import report.models import label.models +from plugin.models import MetadataMixin from plugin.events import trigger_event from InvenTree.status_codes import StockStatus, StockHistoryCode @@ -51,7 +52,7 @@ from company import models as CompanyModels from part import models as PartModels -class StockLocation(InvenTreeTree): +class StockLocation(MetadataMixin, InvenTreeTree): """ Organization tree for StockItem objects A "StockLocation" can be considered a warehouse, or storage location Stock locations can be heirarchical as required @@ -242,7 +243,7 @@ def generate_batch_code(): return Template(batch_template).render(context) -class StockItem(MPTTModel): +class StockItem(MetadataMixin, MPTTModel): """ A StockItem object represents a quantity of physical instances of a part. From 0c0b2efbe09f3b43d9711f5c7992ee7c8e84a585 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 15 May 2022 16:46:05 +0200 Subject: [PATCH 027/134] raise error --- InvenTree/plugin/base/label/mixins.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/plugin/base/label/mixins.py b/InvenTree/plugin/base/label/mixins.py index b6c4d53f46..4e06f9e15a 100644 --- a/InvenTree/plugin/base/label/mixins.py +++ b/InvenTree/plugin/base/label/mixins.py @@ -36,4 +36,4 @@ class LabelPrintingMixin: """ # Unimplemented (to be implemented by the particular plugin class) - MixinNotImplementedError('This Plugin must implement a `print_label` method') + raise MixinNotImplementedError('This Plugin must implement a `print_label` method') From 28b811d961f448deab0451ec6f49b3d2f9507300 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 16 May 2022 00:47:00 +1000 Subject: [PATCH 028/134] PEP style fixes --- InvenTree/plugin/models.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/InvenTree/plugin/models.py b/InvenTree/plugin/models.py index d84136c2bf..130db8d12e 100644 --- a/InvenTree/plugin/models.py +++ b/InvenTree/plugin/models.py @@ -23,11 +23,11 @@ class MetadataMixin(models.Model): The intent of this mixin is to provide a metadata field on a model instance, for plugins to read / modify as required, to store any extra information. - + The assumptions for models implementing this mixin are: - The internal InvenTree business logic will make no use of this field - - Multiple plugins may read / write to this metadata field, and not assume they have sole rights + - Multiple plugins may read / write to this metadata field, and not assume they have sole rights """ class Meta: From 076098a0e0a5ddc38d487590fffe12ce621b4982 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 15 May 2022 16:50:17 +0200 Subject: [PATCH 029/134] use static reference this is stupid but is required --- InvenTree/plugin/__init__.py | 2 +- InvenTree/plugin/events.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/InvenTree/plugin/__init__.py b/InvenTree/plugin/__init__.py index ae38ae6e5b..2f08d31eed 100644 --- a/InvenTree/plugin/__init__.py +++ b/InvenTree/plugin/__init__.py @@ -10,7 +10,7 @@ __all__ = [ 'registry', 'InvenTreePlugin', - IntegrationPluginBase, + 'IntegrationPluginBase', 'MixinNotImplementedError', 'MixinImplementationError', ] diff --git a/InvenTree/plugin/events.py b/InvenTree/plugin/events.py index 193a1805fe..bea1fafb25 100644 --- a/InvenTree/plugin/events.py +++ b/InvenTree/plugin/events.py @@ -5,5 +5,5 @@ Import helper for events from plugin.base.event.events import trigger_event __all__ = [ - trigger_event, + 'trigger_event', ] From ca0508f2f0cf1a98bc0267c4c9f11946b89db957 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 15 May 2022 17:22:58 +0200 Subject: [PATCH 030/134] update to https to match hotspots --- InvenTree/plugin/test_plugin.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/InvenTree/plugin/test_plugin.py b/InvenTree/plugin/test_plugin.py index 30054d569b..5de813150f 100644 --- a/InvenTree/plugin/test_plugin.py +++ b/InvenTree/plugin/test_plugin.py @@ -87,7 +87,7 @@ class InvenTreePluginTests(TestCase): AUTHOR = 'AA BB' DESCRIPTION = 'A description' VERSION = '1.2.3a' - WEBSITE = 'http://aa.bb/cc' + WEBSITE = 'https://aa.bb/cc' LICENSE = 'MIT' self.plugin_name = NameInvenTreePlugin() @@ -147,7 +147,7 @@ class InvenTreePluginTests(TestCase): # website self.assertEqual(self.plugin.website, None) self.assertEqual(self.plugin_simple.website, None) - self.assertEqual(self.plugin_name.website, 'http://aa.bb/cc') + self.assertEqual(self.plugin_name.website, 'https://aa.bb/cc') # license self.assertEqual(self.plugin.license, None) From 77aeecf23a51112c4ada1398cf15c5697cca11d5 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 15 May 2022 17:52:23 +0200 Subject: [PATCH 031/134] make operators simpler --- InvenTree/build/models.py | 4 ++-- InvenTree/common/files.py | 2 +- InvenTree/common/tests.py | 2 +- InvenTree/company/models.py | 2 +- InvenTree/company/views.py | 2 +- InvenTree/label/apps.py | 6 +++--- InvenTree/order/models.py | 10 +++++----- InvenTree/part/models.py | 4 ++-- InvenTree/part/views.py | 2 +- InvenTree/report/models.py | 2 +- InvenTree/stock/models.py | 10 +++++----- ci/check_version_number.py | 4 ++-- 12 files changed, 25 insertions(+), 25 deletions(-) diff --git a/InvenTree/build/models.py b/InvenTree/build/models.py index a1517d73dd..0d7f6e3870 100644 --- a/InvenTree/build/models.py +++ b/InvenTree/build/models.py @@ -777,7 +777,7 @@ class Build(MPTTModel, ReferenceIndexingMixin): if not output.is_building: raise ValidationError(_("Build output is already completed")) - if not output.build == self: + if output.build != self: raise ValidationError(_("Build output does not match Build Order")) # Unallocate all build items against the output @@ -1240,7 +1240,7 @@ class BuildItem(models.Model): }) # Quantity must be 1 for serialized stock - if self.stock_item.serialized and not self.quantity == 1: + if self.stock_item.serialized and self.quantity != 1: raise ValidationError({ 'quantity': _('Quantity must be 1 for serialized stock') }) diff --git a/InvenTree/common/files.py b/InvenTree/common/files.py index e58b977f2c..e6d26be10f 100644 --- a/InvenTree/common/files.py +++ b/InvenTree/common/files.py @@ -199,7 +199,7 @@ class FileManager: try: # Excel import casts number-looking-items into floats, which is annoying - if item == int(item) and not str(item) == str(int(item)): + if item == int(item) and str(item) != str(int(item)): data[idx] = int(item) except ValueError: pass diff --git a/InvenTree/common/tests.py b/InvenTree/common/tests.py index 8fa0f3b28e..1e34ff9129 100644 --- a/InvenTree/common/tests.py +++ b/InvenTree/common/tests.py @@ -132,7 +132,7 @@ class SettingsTest(TestCase): if description is None: raise ValueError(f'Missing GLOBAL_SETTING description for {key}') # pragma: no cover - if not key == key.upper(): + if key != key.upper(): raise ValueError(f"SETTINGS key '{key}' is not uppercase") # pragma: no cover def test_defaults(self): diff --git a/InvenTree/company/models.py b/InvenTree/company/models.py index 9b881c227e..5f6f254e2d 100644 --- a/InvenTree/company/models.py +++ b/InvenTree/company/models.py @@ -494,7 +494,7 @@ class SupplierPart(models.Model): # Ensure that the linked manufacturer_part points to the same part! if self.manufacturer_part and self.part: - if not self.manufacturer_part.part == self.part: + if self.manufacturer_part.part != self.part: raise ValidationError({ 'manufacturer_part': _("Linked manufacturer part must reference the same base part"), }) diff --git a/InvenTree/company/views.py b/InvenTree/company/views.py index 6d8279558c..a9e7054b7a 100644 --- a/InvenTree/company/views.py +++ b/InvenTree/company/views.py @@ -162,7 +162,7 @@ class CompanyImageDownloadFromURL(AjaxUpdateView): self.response = response # Check for valid response code - if not response.status_code == 200: + if response.status_code != 200: form.add_error('url', _('Invalid response: {code}').format(code=response.status_code)) return diff --git a/InvenTree/label/apps.py b/InvenTree/label/apps.py index 633907f330..1a719a9638 100644 --- a/InvenTree/label/apps.py +++ b/InvenTree/label/apps.py @@ -105,7 +105,7 @@ class LabelConfig(AppConfig): # File already exists - let's see if it is the "same", # or if we need to overwrite it with a newer copy! - if not hashFile(dst_file) == hashFile(src_file): # pragma: no cover + if hashFile(dst_file) != hashFile(src_file): # pragma: no cover logger.info(f"Hash differs for '{filename}'") to_copy = True @@ -199,7 +199,7 @@ class LabelConfig(AppConfig): # File already exists - let's see if it is the "same", # or if we need to overwrite it with a newer copy! - if not hashFile(dst_file) == hashFile(src_file): # pragma: no cover + if hashFile(dst_file) != hashFile(src_file): # pragma: no cover logger.info(f"Hash differs for '{filename}'") to_copy = True @@ -291,7 +291,7 @@ class LabelConfig(AppConfig): if os.path.exists(dst_file): # File already exists - let's see if it is the "same" - if not hashFile(dst_file) == hashFile(src_file): # pragma: no cover + if hashFile(dst_file) != hashFile(src_file): # pragma: no cover logger.info(f"Hash differs for '{filename}'") to_copy = True diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index 6ca5b7a293..1b9aae116c 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -306,7 +306,7 @@ class PurchaseOrder(Order): except ValueError: raise ValidationError({'quantity': _("Invalid quantity provided")}) - if not supplier_part.supplier == self.supplier: + if supplier_part.supplier != self.supplier: raise ValidationError({'supplier': _("Part supplier must match PO supplier")}) if group: @@ -445,7 +445,7 @@ class PurchaseOrder(Order): if barcode is None: barcode = '' - if not self.status == PurchaseOrderStatus.PLACED: + if self.status != PurchaseOrderStatus.PLACED: raise ValidationError( "Lines can only be received against an order marked as 'PLACED'" ) @@ -729,7 +729,7 @@ class SalesOrder(Order): Return True if this order can be cancelled """ - if not self.status == SalesOrderStatus.PENDING: + if self.status != SalesOrderStatus.PENDING: return False return True @@ -1295,7 +1295,7 @@ class SalesOrderAllocation(models.Model): raise ValidationError({'item': _('Stock item has not been assigned')}) try: - if not self.line.part == self.item.part: + if self.line.part != self.item.part: errors['item'] = _('Cannot allocate stock item to a line with a different part') except PartModels.Part.DoesNotExist: errors['line'] = _('Cannot allocate stock to a line without a part') @@ -1310,7 +1310,7 @@ class SalesOrderAllocation(models.Model): if self.quantity <= 0: errors['quantity'] = _('Allocation quantity must be greater than zero') - if self.item.serial and not self.quantity == 1: + if self.item.serial and self.quantity != 1: errors['quantity'] = _('Quantity must be 1 for serialized stock item') if self.line.order != self.shipment.order: diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 492da8f5de..2b083f277b 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -444,7 +444,7 @@ class Part(MPTTModel): previous = Part.objects.get(pk=self.pk) # Image has been changed - if previous.image is not None and not self.image == previous.image: + if previous.image is not None and self.image != previous.image: # Are there any (other) parts which reference the image? n_refs = Part.objects.filter(image=previous.image).exclude(pk=self.pk).count() @@ -2895,7 +2895,7 @@ class BomItem(models.Model, DataImportMixin): # If the sub_part is 'trackable' then the 'quantity' field must be an integer if self.sub_part.trackable: - if not self.quantity == int(self.quantity): + if self.quantity != int(self.quantity): raise ValidationError({ "quantity": _("Quantity must be integer value for trackable parts") }) diff --git a/InvenTree/part/views.py b/InvenTree/part/views.py index f1d587e206..7b5021fb45 100644 --- a/InvenTree/part/views.py +++ b/InvenTree/part/views.py @@ -628,7 +628,7 @@ class PartImageDownloadFromURL(AjaxUpdateView): self.response = response # Check for valid response code - if not response.status_code == 200: + if response.status_code != 200: form.add_error('url', _('Invalid response: {code}').format(code=response.status_code)) return diff --git a/InvenTree/report/models.py b/InvenTree/report/models.py index 32ba9077b1..5fe98a7094 100644 --- a/InvenTree/report/models.py +++ b/InvenTree/report/models.py @@ -389,7 +389,7 @@ class BuildReport(ReportTemplateBase): my_build = self.object_to_print - if not type(my_build) == build.models.Build: + if type(my_build) != build.models.Build: raise TypeError('Provided model is not a Build object') return { diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index 53e1321e1a..2c0b9c6fbb 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -404,7 +404,7 @@ class StockItem(MPTTModel): deltas = {} # Status changed? - if not old.status == self.status: + if old.status != self.status: deltas['status'] = self.status # TODO - Other interesting changes we are interested in... @@ -493,7 +493,7 @@ class StockItem(MPTTModel): try: if self.part.trackable: # Trackable parts must have integer values for quantity field! - if not self.quantity == int(self.quantity): + if self.quantity != int(self.quantity): raise ValidationError({ 'quantity': _('Quantity must be integer value for trackable parts') }) @@ -511,7 +511,7 @@ class StockItem(MPTTModel): # The 'supplier_part' field must point to the same part! try: if self.supplier_part is not None: - if not self.supplier_part.part == self.part: + if self.supplier_part.part != self.part: raise ValidationError({'supplier_part': _("Part type ('{pf}') must be {pe}").format( pf=str(self.supplier_part.part), pe=str(self.part)) @@ -1314,10 +1314,10 @@ class StockItem(MPTTModel): if quantity > self.quantity: raise ValidationError({"quantity": _("Quantity must not exceed available stock quantity ({n})").format(n=self.quantity)}) - if not type(serials) in [list, tuple]: + if type(serials) not in [list, tuple]: raise ValidationError({"serial_numbers": _("Serial numbers must be a list of integers")}) - if not quantity == len(serials): + if quantity != len(serials): raise ValidationError({"quantity": _("Quantity does not match serial numbers")}) # Test if each of the serial numbers are valid diff --git a/ci/check_version_number.py b/ci/check_version_number.py index 0514854407..b071afbe86 100644 --- a/ci/check_version_number.py +++ b/ci/check_version_number.py @@ -25,7 +25,7 @@ if __name__ == '__main__': # Extract the InvenTree software version results = re.findall(r'INVENTREE_SW_VERSION = "(.*)"', text) - if not len(results) == 1: + if len(results) != 1: print(f"Could not find INVENTREE_SW_VERSION in {version_file}") sys.exit(1) @@ -91,7 +91,7 @@ if __name__ == '__main__': sys.exit(1) if args.tag: - if not args.tag == version: + if args.tag != version: print(f"Release tag '{args.tag}' does not match INVENTREE_SW_VERSION '{version}'") sys.exit(1) From 8b9c80d2a4c13e5c0ff9e377085c97a5db5ce282 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 15 May 2022 17:55:05 +0200 Subject: [PATCH 032/134] remove todo that is not fitting any more --- InvenTree/common/models.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index 8b50d05413..36f20c42a2 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -1802,10 +1802,8 @@ class WebhookEndpoint(models.Model): def process_webhook(self): if self.token: self.verify = VerificationMethod.TOKEN - # TODO make a object-setting if self.secret: self.verify = VerificationMethod.HMAC - # TODO make a object-setting return True def validate_token(self, payload, headers, request): From c7a2d11893e123ff46f92b71be494b8855331f6c Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 15 May 2022 18:02:12 +0200 Subject: [PATCH 033/134] refactor to make simpler --- InvenTree/plugin/base/action/api.py | 6 +----- InvenTree/plugin/base/action/mixins.py | 12 ++---------- 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/InvenTree/plugin/base/action/api.py b/InvenTree/plugin/base/action/api.py index 998e410dce..944d921487 100644 --- a/InvenTree/plugin/base/action/api.py +++ b/InvenTree/plugin/base/action/api.py @@ -31,11 +31,7 @@ class ActionPluginView(APIView): action_plugins = registry.with_mixin('action') for plugin in action_plugins: if plugin.action_name() == action: - # TODO @matmair use easier syntax once InvenTree 0.7.0 is released - plugin.init(request.user, data=data) - - plugin.perform_action() - + plugin.perform_action(request.user, data=data) return Response(plugin.get_response()) # If we got to here, no matching action was found diff --git a/InvenTree/plugin/base/action/mixins.py b/InvenTree/plugin/base/action/mixins.py index 70fea86a7e..0896055e19 100644 --- a/InvenTree/plugin/base/action/mixins.py +++ b/InvenTree/plugin/base/action/mixins.py @@ -15,10 +15,9 @@ class ActionMixin: """ MIXIN_NAME = 'Actions' - def __init__(self, user=None, data=None): + def __init__(self): super().__init__() self.add_mixin('action', True, __class__) - self.init(user, data) def action_name(self): """ @@ -31,14 +30,7 @@ class ActionMixin: return self.ACTION_NAME return self.name - def init(self, user, data=None): - """ - An action plugin takes a user reference, and an optional dataset (dict) - """ - self.user = user - self.data = data - - def perform_action(self): + def perform_action(self, user=None, data=None): """ Override this method to perform the action! """ From 9e590c1bc6802d6273af13677c5ba43a52cb71f9 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 15 May 2022 18:06:32 +0200 Subject: [PATCH 034/134] this seems fine - just keep it that way --- InvenTree/plugin/base/barcodes/api.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/InvenTree/plugin/base/barcodes/api.py b/InvenTree/plugin/base/barcodes/api.py index 296986b2d1..edd9fc3dcc 100644 --- a/InvenTree/plugin/base/barcodes/api.py +++ b/InvenTree/plugin/base/barcodes/api.py @@ -63,7 +63,6 @@ class BarcodeScan(APIView): plugin = None for current_plugin in plugins: - # TODO @matmair make simpler after InvenTree 0.7.0 release current_plugin.init(barcode_data) if current_plugin.validate(): @@ -168,7 +167,6 @@ class BarcodeAssign(APIView): plugin = None for current_plugin in plugins: - # TODO @matmair make simpler after InvenTree 0.7.0 release current_plugin.init(barcode_data) if current_plugin.validate(): From 45d70737bd7536221042a8c426db12e43e5f95be Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 15 May 2022 18:08:42 +0200 Subject: [PATCH 035/134] we do not have server stats checks so this does not make sende --- InvenTree/plugin/registry.py | 1 - 1 file changed, 1 deletion(-) diff --git a/InvenTree/plugin/registry.py b/InvenTree/plugin/registry.py index 6f8c9e0442..311772c795 100644 --- a/InvenTree/plugin/registry.py +++ b/InvenTree/plugin/registry.py @@ -133,7 +133,6 @@ class PluginsRegistry: if retry_counter <= 0: # pragma: no cover if settings.PLUGIN_TESTING: print('[PLUGIN] Max retries, breaking loading') - # TODO error for server status break if settings.PLUGIN_TESTING: print(f'[PLUGIN] Above error occured during testing - {retry_counter}/{settings.PLUGIN_RETRY} retries left') From f4fbd57e6e515c534826aadb891a48842d9bcaa7 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 15 May 2022 18:09:05 +0200 Subject: [PATCH 036/134] errors fail whole plugins now so no saving --- InvenTree/plugin/registry.py | 1 - 1 file changed, 1 deletion(-) diff --git a/InvenTree/plugin/registry.py b/InvenTree/plugin/registry.py index 311772c795..b2769f87aa 100644 --- a/InvenTree/plugin/registry.py +++ b/InvenTree/plugin/registry.py @@ -300,7 +300,6 @@ class PluginsRegistry: # Errors are bad so disable the plugin in the database if not settings.PLUGIN_TESTING: # pragma: no cover plugin_db_setting.active = False - # TODO save the error to the plugin plugin_db_setting.save(no_reload=True) # Add to inactive plugins so it shows up in the ui From d9fe7ac27286e51b99664cb895461a3cc9c783ae Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 15 May 2022 18:09:39 +0200 Subject: [PATCH 037/134] general Todo - no specific task removed therefore --- InvenTree/plugin/registry.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/InvenTree/plugin/registry.py b/InvenTree/plugin/registry.py index b2769f87aa..3d58634340 100644 --- a/InvenTree/plugin/registry.py +++ b/InvenTree/plugin/registry.py @@ -308,8 +308,6 @@ class PluginsRegistry: # Initialize package # now we can be sure that an admin has activated the plugin - # TODO check more stuff -> as of Nov 2021 there are not many checks in place - # but we could enhance those to check signatures, run the plugin against a whitelist etc. logger.info(f'Loading plugin {plug_name}') try: From 23608e69332017a08c5672fef2678c7957f5827a Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 15 May 2022 18:36:33 +0200 Subject: [PATCH 038/134] remove unneeded args --- InvenTree/plugin/base/action/test_action.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/InvenTree/plugin/base/action/test_action.py b/InvenTree/plugin/base/action/test_action.py index 9de672cd6f..9484c6687d 100644 --- a/InvenTree/plugin/base/action/test_action.py +++ b/InvenTree/plugin/base/action/test_action.py @@ -14,7 +14,7 @@ class ActionMixinTests(TestCase): def setUp(self): class SimplePlugin(ActionMixin, InvenTreePlugin): pass - self.plugin = SimplePlugin('user') + self.plugin = SimplePlugin() class TestActionPlugin(ActionMixin, InvenTreePlugin): """a action plugin""" @@ -29,12 +29,12 @@ class ActionMixinTests(TestCase): def get_info(self): return ActionMixinTests.ACTION_RETURN + 'info' - self.action_plugin = TestActionPlugin('user') + self.action_plugin = TestActionPlugin() class NameActionPlugin(ActionMixin, InvenTreePlugin): NAME = 'Aplugin' - self.action_name = NameActionPlugin('user') + self.action_name = NameActionPlugin() def test_action_name(self): """check the name definition possibilities""" From cced30c081d289e91174622a31bb2f9cf307712f Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 15 May 2022 18:41:39 +0200 Subject: [PATCH 039/134] pass through request data --- InvenTree/plugin/base/action/api.py | 2 +- InvenTree/plugin/base/action/mixins.py | 10 +++++----- InvenTree/plugin/builtin/action/simpleactionplugin.py | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/InvenTree/plugin/base/action/api.py b/InvenTree/plugin/base/action/api.py index 944d921487..607f7dd9e4 100644 --- a/InvenTree/plugin/base/action/api.py +++ b/InvenTree/plugin/base/action/api.py @@ -32,7 +32,7 @@ class ActionPluginView(APIView): for plugin in action_plugins: if plugin.action_name() == action: plugin.perform_action(request.user, data=data) - return Response(plugin.get_response()) + return Response(plugin.get_response(request.user, data=data)) # If we got to here, no matching action was found return Response({ diff --git a/InvenTree/plugin/base/action/mixins.py b/InvenTree/plugin/base/action/mixins.py index 0896055e19..9c6de306e5 100644 --- a/InvenTree/plugin/base/action/mixins.py +++ b/InvenTree/plugin/base/action/mixins.py @@ -35,7 +35,7 @@ class ActionMixin: Override this method to perform the action! """ - def get_result(self): + def get_result(self, user=None, data=None): """ Result of the action? """ @@ -43,19 +43,19 @@ class ActionMixin: # Re-implement this for cutsom actions return False - def get_info(self): + def get_info(self, user=None, data=None): """ Extra info? Can be a string / dict / etc """ return None - def get_response(self): + def get_response(self, user=None, data=None): """ Return a response. Default implementation is a simple response which can be overridden. """ return { "action": self.action_name(), - "result": self.get_result(), - "info": self.get_info(), + "result": self.get_result(user, data), + "info": self.get_info(user, data), } diff --git a/InvenTree/plugin/builtin/action/simpleactionplugin.py b/InvenTree/plugin/builtin/action/simpleactionplugin.py index d2a321789d..97043d5223 100644 --- a/InvenTree/plugin/builtin/action/simpleactionplugin.py +++ b/InvenTree/plugin/builtin/action/simpleactionplugin.py @@ -16,9 +16,9 @@ class SimpleActionPlugin(ActionMixin, InvenTreePlugin): def perform_action(self): print("Action plugin in action!") - def get_info(self): + def get_info(self, user, data): return { - "user": self.user.username, + "user": user.username, "hello": "world", } From a8d3ee15bfe43c4e3be1296e006b5ddf1574399f Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 15 May 2022 20:05:56 +0200 Subject: [PATCH 040/134] fix func definition --- InvenTree/plugin/base/action/test_action.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/InvenTree/plugin/base/action/test_action.py b/InvenTree/plugin/base/action/test_action.py index 9484c6687d..16790ccd62 100644 --- a/InvenTree/plugin/base/action/test_action.py +++ b/InvenTree/plugin/base/action/test_action.py @@ -20,13 +20,13 @@ class ActionMixinTests(TestCase): """a action plugin""" ACTION_NAME = 'abc123' - def perform_action(self): + def perform_action(self, user=None, data=None): return ActionMixinTests.ACTION_RETURN + 'action' - def get_result(self): + def get_result(self, user=None, data=None): return ActionMixinTests.ACTION_RETURN + 'result' - def get_info(self): + def get_info(self, user=None, data=None): return ActionMixinTests.ACTION_RETURN + 'info' self.action_plugin = TestActionPlugin() From 9c342e1fe361fe73ffc29b1d32f2880370ac7c88 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 15 May 2022 20:06:07 +0200 Subject: [PATCH 041/134] fix definition --- InvenTree/plugin/builtin/action/test_simpleactionplugin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/plugin/builtin/action/test_simpleactionplugin.py b/InvenTree/plugin/builtin/action/test_simpleactionplugin.py index 6406810894..92e1affa67 100644 --- a/InvenTree/plugin/builtin/action/test_simpleactionplugin.py +++ b/InvenTree/plugin/builtin/action/test_simpleactionplugin.py @@ -15,7 +15,7 @@ class SimpleActionPluginTests(TestCase): self.test_user = user.objects.create_user('testuser', 'test@testing.com', 'password') self.client.login(username='testuser', password='password') - self.plugin = SimpleActionPlugin(user=self.test_user) + self.plugin = SimpleActionPlugin() def test_name(self): """check plugn names """ From ecccfbd546997334df8292d30101c54c1c7eff08 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 15 May 2022 20:33:00 +0200 Subject: [PATCH 042/134] Remove encoding header Fixes #2996 --- InvenTree/InvenTree/api.py | 3 --- InvenTree/InvenTree/fields.py | 2 -- InvenTree/InvenTree/forms.py | 2 -- InvenTree/InvenTree/serializers.py | 3 --- InvenTree/InvenTree/views.py | 2 -- InvenTree/build/api.py | 3 --- InvenTree/build/models.py | 2 -- InvenTree/build/serializers.py | 3 --- InvenTree/build/views.py | 3 --- InvenTree/common/api.py | 3 --- InvenTree/common/forms.py | 3 --- InvenTree/common/models.py | 3 --- InvenTree/common/serializers.py | 3 --- InvenTree/common/settings.py | 3 --- InvenTree/common/test_views.py | 3 --- InvenTree/common/views.py | 3 --- InvenTree/company/api.py | 3 --- InvenTree/company/forms.py | 3 --- InvenTree/company/models.py | 3 --- InvenTree/company/test_views.py | 3 --- InvenTree/company/views.py | 4 ---- InvenTree/label/models.py | 3 --- InvenTree/label/test_api.py | 3 --- InvenTree/label/tests.py | 3 --- InvenTree/order/api.py | 3 --- InvenTree/order/forms.py | 3 --- InvenTree/order/serializers.py | 3 --- InvenTree/order/test_views.py | 3 --- InvenTree/order/views.py | 3 --- InvenTree/part/api.py | 3 --- InvenTree/part/forms.py | 3 --- InvenTree/part/models.py | 2 -- InvenTree/part/settings.py | 3 --- InvenTree/part/test_param.py | 3 --- InvenTree/part/views.py | 3 --- InvenTree/plugin/api.py | 3 --- InvenTree/plugin/base/event/events.py | 3 --- InvenTree/plugin/models.py | 2 -- InvenTree/plugin/serializers.py | 3 --- InvenTree/report/models.py | 3 --- InvenTree/stock/api.py | 3 --- InvenTree/stock/forms.py | 3 --- InvenTree/stock/models.py | 4 ---- InvenTree/stock/serializers.py | 3 --- InvenTree/stock/test_api.py | 3 --- InvenTree/stock/views.py | 3 --- ci/check_api_endpoint.py | 3 --- ci/check_js_templates.py | 3 --- ci/check_locale_files.py | 3 --- ci/check_migration_files.py | 3 --- ci/check_version_number.py | 3 --- 51 files changed, 149 deletions(-) diff --git a/InvenTree/InvenTree/api.py b/InvenTree/InvenTree/api.py index 9d901516d5..e58ef798fc 100644 --- a/InvenTree/InvenTree/api.py +++ b/InvenTree/InvenTree/api.py @@ -2,9 +2,6 @@ Main JSON interface views """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.utils.translation import gettext_lazy as _ from django.conf import settings from django.http import JsonResponse diff --git a/InvenTree/InvenTree/fields.py b/InvenTree/InvenTree/fields.py index b3d81d75a5..894b993e50 100644 --- a/InvenTree/InvenTree/fields.py +++ b/InvenTree/InvenTree/fields.py @@ -1,7 +1,5 @@ """ Custom fields used in InvenTree """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals import sys from .validators import allowable_url_schemes diff --git a/InvenTree/InvenTree/forms.py b/InvenTree/InvenTree/forms.py index 8814c571dd..40e8509411 100644 --- a/InvenTree/InvenTree/forms.py +++ b/InvenTree/InvenTree/forms.py @@ -2,8 +2,6 @@ Helper forms which subclass Django forms to provide additional functionality """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals from urllib.parse import urlencode import logging diff --git a/InvenTree/InvenTree/serializers.py b/InvenTree/InvenTree/serializers.py index d3d0038cea..e16a4f1ba7 100644 --- a/InvenTree/InvenTree/serializers.py +++ b/InvenTree/InvenTree/serializers.py @@ -2,9 +2,6 @@ Serializers used in various InvenTree apps """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import os import tablib diff --git a/InvenTree/InvenTree/views.py b/InvenTree/InvenTree/views.py index 6291b321a8..56fd6be28f 100644 --- a/InvenTree/InvenTree/views.py +++ b/InvenTree/InvenTree/views.py @@ -5,8 +5,6 @@ In particular these views provide base functionality for rendering Django forms as JSON objects and passing them to modal forms (using jQuery / bootstrap). """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals import os import json diff --git a/InvenTree/build/api.py b/InvenTree/build/api.py index 4453232823..c8c54b3a43 100644 --- a/InvenTree/build/api.py +++ b/InvenTree/build/api.py @@ -2,9 +2,6 @@ JSON API for the Build app """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.urls import include, re_path from rest_framework import filters, generics diff --git a/InvenTree/build/models.py b/InvenTree/build/models.py index a1517d73dd..fdba0b2fd8 100644 --- a/InvenTree/build/models.py +++ b/InvenTree/build/models.py @@ -2,8 +2,6 @@ Build database model definitions """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals import decimal import os diff --git a/InvenTree/build/serializers.py b/InvenTree/build/serializers.py index 0f1703750c..ebd98fefc9 100644 --- a/InvenTree/build/serializers.py +++ b/InvenTree/build/serializers.py @@ -2,9 +2,6 @@ JSON serializers for Build API """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import transaction from django.core.exceptions import ValidationError as DjangoValidationError from django.utils.translation import gettext_lazy as _ diff --git a/InvenTree/build/views.py b/InvenTree/build/views.py index c8ac4509b8..57d8f8bd37 100644 --- a/InvenTree/build/views.py +++ b/InvenTree/build/views.py @@ -2,9 +2,6 @@ Django views for interacting with Build objects """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.utils.translation import gettext_lazy as _ from django.views.generic import DetailView, ListView diff --git a/InvenTree/common/api.py b/InvenTree/common/api.py index 1996a4bdbf..646025ab2a 100644 --- a/InvenTree/common/api.py +++ b/InvenTree/common/api.py @@ -2,9 +2,6 @@ Provides a JSON API for common components. """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import json from django.http.response import HttpResponse diff --git a/InvenTree/common/forms.py b/InvenTree/common/forms.py index 4a2a1601aa..7fcdf8535c 100644 --- a/InvenTree/common/forms.py +++ b/InvenTree/common/forms.py @@ -2,9 +2,6 @@ Django forms for interacting with common objects """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django import forms from django.utils.translation import gettext as _ diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index 8b50d05413..1824e9d335 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -3,9 +3,6 @@ Common database model definitions. These models are 'generic' and do not fit a particular business logic object. """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import os import decimal import math diff --git a/InvenTree/common/serializers.py b/InvenTree/common/serializers.py index 8dd0f5bcee..7d0c8cc219 100644 --- a/InvenTree/common/serializers.py +++ b/InvenTree/common/serializers.py @@ -2,9 +2,6 @@ JSON serializers for common components """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from InvenTree.serializers import InvenTreeModelSerializer from InvenTree.helpers import get_objectreference diff --git a/InvenTree/common/settings.py b/InvenTree/common/settings.py index 2dd7756eba..361284d831 100644 --- a/InvenTree/common/settings.py +++ b/InvenTree/common/settings.py @@ -2,9 +2,6 @@ User-configurable settings for the common app """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from moneyed import CURRENCIES from django.conf import settings diff --git a/InvenTree/common/test_views.py b/InvenTree/common/test_views.py index 7d7bfde87e..2394913c73 100644 --- a/InvenTree/common/test_views.py +++ b/InvenTree/common/test_views.py @@ -1,6 +1,3 @@ """ Unit tests for the views associated with the 'common' app """ - -# -*- coding: utf-8 -*- -from __future__ import unicode_literals diff --git a/InvenTree/common/views.py b/InvenTree/common/views.py index 7fae6f3710..f9a6a4f82a 100644 --- a/InvenTree/common/views.py +++ b/InvenTree/common/views.py @@ -2,9 +2,6 @@ Django views for interacting with common models """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import os from django.utils.translation import gettext_lazy as _ diff --git a/InvenTree/company/api.py b/InvenTree/company/api.py index b99fbd01fb..146a45f648 100644 --- a/InvenTree/company/api.py +++ b/InvenTree/company/api.py @@ -2,9 +2,6 @@ Provides a JSON API for the Company app """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django_filters.rest_framework import DjangoFilterBackend from django_filters import rest_framework as rest_filters diff --git a/InvenTree/company/forms.py b/InvenTree/company/forms.py index 5549f66222..eaead82151 100644 --- a/InvenTree/company/forms.py +++ b/InvenTree/company/forms.py @@ -2,9 +2,6 @@ Django Forms for interacting with Company app """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from InvenTree.forms import HelperForm from InvenTree.fields import RoundingDecimalFormField diff --git a/InvenTree/company/models.py b/InvenTree/company/models.py index 9b881c227e..5e93599d24 100644 --- a/InvenTree/company/models.py +++ b/InvenTree/company/models.py @@ -2,9 +2,6 @@ Company database model definitions """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import os from django.utils.translation import gettext_lazy as _ diff --git a/InvenTree/company/test_views.py b/InvenTree/company/test_views.py index 258090ebdb..6d28e85d23 100644 --- a/InvenTree/company/test_views.py +++ b/InvenTree/company/test_views.py @@ -1,8 +1,5 @@ """ Unit tests for Company views (see views.py) """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.test import TestCase from django.urls import reverse from django.contrib.auth import get_user_model diff --git a/InvenTree/company/views.py b/InvenTree/company/views.py index 6d8279558c..5f686e805e 100644 --- a/InvenTree/company/views.py +++ b/InvenTree/company/views.py @@ -2,10 +2,6 @@ Django views for interacting with Company app """ - -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.utils.translation import gettext_lazy as _ from django.views.generic import DetailView, ListView diff --git a/InvenTree/label/models.py b/InvenTree/label/models.py index 9094b957ff..7a52ed5d02 100644 --- a/InvenTree/label/models.py +++ b/InvenTree/label/models.py @@ -2,9 +2,6 @@ Label printing models """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import sys import os import logging diff --git a/InvenTree/label/test_api.py b/InvenTree/label/test_api.py index a444cd47dc..807de5b63e 100644 --- a/InvenTree/label/test_api.py +++ b/InvenTree/label/test_api.py @@ -1,8 +1,5 @@ # Tests for labels -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.urls import reverse from InvenTree.api_tester import InvenTreeAPITestCase diff --git a/InvenTree/label/tests.py b/InvenTree/label/tests.py index ad1aaba9c8..9e066aa91e 100644 --- a/InvenTree/label/tests.py +++ b/InvenTree/label/tests.py @@ -1,8 +1,5 @@ # Tests for labels -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import os from django.conf import settings diff --git a/InvenTree/order/api.py b/InvenTree/order/api.py index 7c8a93125f..f1f6780825 100644 --- a/InvenTree/order/api.py +++ b/InvenTree/order/api.py @@ -2,9 +2,6 @@ JSON API for the Order app """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.urls import include, path, re_path from django.db.models import Q, F diff --git a/InvenTree/order/forms.py b/InvenTree/order/forms.py index a08cf81ab1..120d1e0923 100644 --- a/InvenTree/order/forms.py +++ b/InvenTree/order/forms.py @@ -2,9 +2,6 @@ Django Forms for interacting with Order objects """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django import forms from django.utils.translation import gettext_lazy as _ diff --git a/InvenTree/order/serializers.py b/InvenTree/order/serializers.py index c97090e4f6..a58de213ea 100644 --- a/InvenTree/order/serializers.py +++ b/InvenTree/order/serializers.py @@ -2,9 +2,6 @@ JSON serializers for the Order API """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from decimal import Decimal from django.utils.translation import gettext_lazy as _ diff --git a/InvenTree/order/test_views.py b/InvenTree/order/test_views.py index a0445e3dd6..e38ea7ecef 100644 --- a/InvenTree/order/test_views.py +++ b/InvenTree/order/test_views.py @@ -1,8 +1,5 @@ """ Unit tests for Order views (see views.py) """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.test import TestCase from django.urls import reverse from django.contrib.auth import get_user_model diff --git a/InvenTree/order/views.py b/InvenTree/order/views.py index f8102908e9..77b5741c3e 100644 --- a/InvenTree/order/views.py +++ b/InvenTree/order/views.py @@ -2,9 +2,6 @@ Django views for interacting with Order app """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db.utils import IntegrityError from django.http.response import JsonResponse from django.shortcuts import get_object_or_404 diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index 622ca38669..b71fdcacfe 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -2,9 +2,6 @@ Provides a JSON API for the Part app """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import datetime from django.urls import include, path, re_path diff --git a/InvenTree/part/forms.py b/InvenTree/part/forms.py index 87210901d2..9a14d8ad25 100644 --- a/InvenTree/part/forms.py +++ b/InvenTree/part/forms.py @@ -2,9 +2,6 @@ Django Forms for interacting with Part objects """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django import forms from django.utils.translation import gettext_lazy as _ diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 96ffa581f4..2ff3f60a83 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -2,8 +2,6 @@ Part database model definitions """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals import decimal import os diff --git a/InvenTree/part/settings.py b/InvenTree/part/settings.py index e345a9d88d..41ecbb0d00 100644 --- a/InvenTree/part/settings.py +++ b/InvenTree/part/settings.py @@ -2,9 +2,6 @@ User-configurable settings for the Part app """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from common.models import InvenTreeSetting diff --git a/InvenTree/part/test_param.py b/InvenTree/part/test_param.py index fe3514d807..db617f6ffb 100644 --- a/InvenTree/part/test_param.py +++ b/InvenTree/part/test_param.py @@ -1,8 +1,5 @@ # Tests for Part Parameters -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.test import TestCase, TransactionTestCase import django.core.exceptions as django_exceptions diff --git a/InvenTree/part/views.py b/InvenTree/part/views.py index f1d587e206..9aac54e7d4 100644 --- a/InvenTree/part/views.py +++ b/InvenTree/part/views.py @@ -2,9 +2,6 @@ Django views for interacting with Part app """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.core.files.base import ContentFile from django.core.exceptions import ValidationError from django.db import transaction diff --git a/InvenTree/plugin/api.py b/InvenTree/plugin/api.py index f3710e4835..85721a6770 100644 --- a/InvenTree/plugin/api.py +++ b/InvenTree/plugin/api.py @@ -2,9 +2,6 @@ JSON API for the plugin app """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.conf import settings from django.urls import include, re_path diff --git a/InvenTree/plugin/base/event/events.py b/InvenTree/plugin/base/event/events.py index 59dfdce86a..4b9c44521d 100644 --- a/InvenTree/plugin/base/event/events.py +++ b/InvenTree/plugin/base/event/events.py @@ -2,9 +2,6 @@ Functions for triggering and responding to server side events """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import logging from django.conf import settings diff --git a/InvenTree/plugin/models.py b/InvenTree/plugin/models.py index 3d2d143eea..3caa69e709 100644 --- a/InvenTree/plugin/models.py +++ b/InvenTree/plugin/models.py @@ -2,8 +2,6 @@ Plugin model definitions """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals import warnings from django.utils.translation import gettext_lazy as _ diff --git a/InvenTree/plugin/serializers.py b/InvenTree/plugin/serializers.py index b3c0471635..c80115342a 100644 --- a/InvenTree/plugin/serializers.py +++ b/InvenTree/plugin/serializers.py @@ -2,9 +2,6 @@ JSON serializers for plugin app """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import os import subprocess diff --git a/InvenTree/report/models.py b/InvenTree/report/models.py index 32ba9077b1..8632189982 100644 --- a/InvenTree/report/models.py +++ b/InvenTree/report/models.py @@ -2,9 +2,6 @@ Report template model definitions """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import os import sys import logging diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 96a893e914..ec204354bd 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -2,9 +2,6 @@ JSON API for the Stock app """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from collections import OrderedDict from datetime import datetime, timedelta diff --git a/InvenTree/stock/forms.py b/InvenTree/stock/forms.py index 7d419ab478..7e615b5eae 100644 --- a/InvenTree/stock/forms.py +++ b/InvenTree/stock/forms.py @@ -2,9 +2,6 @@ Django Forms for interacting with Stock app """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from InvenTree.forms import HelperForm from .models import StockItem, StockItemTracking diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index a46d43b007..e5fac16355 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -2,10 +2,6 @@ Stock database model definitions """ - -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import os from jinja2 import Template diff --git a/InvenTree/stock/serializers.py b/InvenTree/stock/serializers.py index 6b27b87f93..40303fc120 100644 --- a/InvenTree/stock/serializers.py +++ b/InvenTree/stock/serializers.py @@ -2,9 +2,6 @@ JSON serializers for Stock app """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from decimal import Decimal from datetime import datetime, timedelta from django.db import transaction diff --git a/InvenTree/stock/test_api.py b/InvenTree/stock/test_api.py index 1f040b008d..28a8e0de0b 100644 --- a/InvenTree/stock/test_api.py +++ b/InvenTree/stock/test_api.py @@ -2,9 +2,6 @@ Unit testing for the Stock API """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import os import io import tablib diff --git a/InvenTree/stock/views.py b/InvenTree/stock/views.py index 168403d692..15191b5fb7 100644 --- a/InvenTree/stock/views.py +++ b/InvenTree/stock/views.py @@ -2,9 +2,6 @@ Django views for interacting with Stock app """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from datetime import datetime from django.views.generic import DetailView, ListView diff --git a/ci/check_api_endpoint.py b/ci/check_api_endpoint.py index 2969c64792..0d110379ef 100644 --- a/ci/check_api_endpoint.py +++ b/ci/check_api_endpoint.py @@ -2,9 +2,6 @@ Test that the root API endpoint is available. """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import json import requests diff --git a/ci/check_js_templates.py b/ci/check_js_templates.py index 71b9912f3a..4f35e57eb4 100644 --- a/ci/check_js_templates.py +++ b/ci/check_js_templates.py @@ -7,9 +7,6 @@ This is because the "translated" javascript files are compiled into the "static" They should only contain template tags that render static information. """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import sys import re import os diff --git a/ci/check_locale_files.py b/ci/check_locale_files.py index 06246cd923..d17fe27e3d 100644 --- a/ci/check_locale_files.py +++ b/ci/check_locale_files.py @@ -1,8 +1,5 @@ """ Check that there are no database migration files which have not been committed. """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import sys import subprocess diff --git a/ci/check_migration_files.py b/ci/check_migration_files.py index 8ef0ada13d..16bd87485d 100644 --- a/ci/check_migration_files.py +++ b/ci/check_migration_files.py @@ -1,8 +1,5 @@ """ Check that there are no database migration files which have not been committed. """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import sys import subprocess diff --git a/ci/check_version_number.py b/ci/check_version_number.py index 0514854407..b5ab7f65a2 100644 --- a/ci/check_version_number.py +++ b/ci/check_version_number.py @@ -2,9 +2,6 @@ On release, ensure that the release tag matches the InvenTree version number! """ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import sys import re import os From 3154a4ebd03d1f5da3f22635171bf0c021bae681 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 15 May 2022 21:01:55 +0200 Subject: [PATCH 043/134] remove old import catching --- tasks.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/tasks.py b/tasks.py index 2ed0b4d35e..fc69c8ba22 100644 --- a/tasks.py +++ b/tasks.py @@ -6,11 +6,7 @@ import sys import pathlib import re - -try: - from invoke import ctask as task -except: - from invoke import task +from invoke import task def apps(): From 74a3abc4a2221a6e15c94c860deae2738497fb08 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 15 May 2022 23:26:46 +0200 Subject: [PATCH 044/134] make args wider --- InvenTree/plugin/builtin/action/simpleactionplugin.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/InvenTree/plugin/builtin/action/simpleactionplugin.py b/InvenTree/plugin/builtin/action/simpleactionplugin.py index 97043d5223..54598e72cb 100644 --- a/InvenTree/plugin/builtin/action/simpleactionplugin.py +++ b/InvenTree/plugin/builtin/action/simpleactionplugin.py @@ -13,14 +13,14 @@ class SimpleActionPlugin(ActionMixin, InvenTreePlugin): NAME = "SimpleActionPlugin" ACTION_NAME = "simple" - def perform_action(self): + def perform_action(self, user=None, data=None): print("Action plugin in action!") - def get_info(self, user, data): + def get_info(self, user, data=None): return { "user": user.username, "hello": "world", } - def get_result(self): + def get_result(self, user=None, data=None): return True From af6eac8cc9cf9e9181744ae61510f3df25587d0d Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 16 May 2022 01:12:19 +0200 Subject: [PATCH 045/134] Add isort --- requirements.txt | 1 + setup.cfg | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/requirements.txt b/requirements.txt index 5065b4f877..43d077104f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -36,6 +36,7 @@ flake8==3.8.3 # PEP checking gunicorn>=20.1.0 # Gunicorn web server importlib_metadata # Backport for importlib.metadata inventree # Install the latest version of the InvenTree API python library +isort==5.10.1 # DEV: python import sorting markdown==3.3.4 # Force particular version of markdown pep8-naming==0.11.1 # PEP naming convention extension pillow==9.0.1 # Image manipulation diff --git a/setup.cfg b/setup.cfg index b4b0af8836..a483481f5d 100644 --- a/setup.cfg +++ b/setup.cfg @@ -20,3 +20,11 @@ max-complexity = 20 [coverage:run] source = ./InvenTree + +[isort] +src_paths=InvenTree +skip_glob =*/migrations/*.py +known_django=django +import_heading_firstparty=InvenTree imports +import_heading_thirdparty=Third-Party imports +sections=FUTURE, STDLIB, DJANGO, THIRDPARTY, FIRSTPARTY, LOCALFOLDER From 3614e0921136f161d1b24cb63e7ac769df161d5e Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 16 May 2022 09:25:20 +1000 Subject: [PATCH 046/134] Fix "fields" attribute for PurchaseOrderLineItem edit form - The 'order' field was not being included --- InvenTree/templates/js/translated/order.js | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/InvenTree/templates/js/translated/order.js b/InvenTree/templates/js/translated/order.js index 372dc70a9a..e2bee865fd 100644 --- a/InvenTree/templates/js/translated/order.js +++ b/InvenTree/templates/js/translated/order.js @@ -1568,23 +1568,10 @@ function loadPurchaseOrderLineItemTable(table, options={}) { $(table).find('.button-line-edit').click(function() { var pk = $(this).attr('pk'); + var fields = poLineItemFields(options); + constructForm(`/api/order/po-line/${pk}/`, { - fields: { - part: { - filters: { - part_detail: true, - supplier_detail: true, - supplier: options.supplier, - } - }, - quantity: {}, - reference: {}, - purchase_price: {}, - purchase_price_currency: {}, - target_date: {}, - destination: {}, - notes: {}, - }, + fields: fields, title: '{% trans "Edit Line Item" %}', onSuccess: function() { $(table).bootstrapTable('refresh'); From cd68d5a80ef377bd7ef3340996addf1829a9c21e Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 16 May 2022 19:14:46 +1000 Subject: [PATCH 047/134] Add metadata mixin to Part and PartCategory models --- .../migrations/0076_auto_20220516_0819.py | 23 +++++++++++++++++++ InvenTree/part/models.py | 16 ++++++------- 2 files changed, 31 insertions(+), 8 deletions(-) create mode 100644 InvenTree/part/migrations/0076_auto_20220516_0819.py diff --git a/InvenTree/part/migrations/0076_auto_20220516_0819.py b/InvenTree/part/migrations/0076_auto_20220516_0819.py new file mode 100644 index 0000000000..5b02860aca --- /dev/null +++ b/InvenTree/part/migrations/0076_auto_20220516_0819.py @@ -0,0 +1,23 @@ +# Generated by Django 3.2.13 on 2022-05-16 08:19 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('part', '0075_auto_20211128_0151'), + ] + + operations = [ + migrations.AddField( + model_name='part', + name='metadata', + field=models.JSONField(blank=True, help_text='JSON metadata field, for use by external plugins', null=True, verbose_name='Plugin Metadata'), + ), + migrations.AddField( + model_name='partcategory', + name='metadata', + field=models.JSONField(blank=True, help_text='JSON metadata field, for use by external plugins', null=True, verbose_name='Plugin Metadata'), + ), + ] diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 96ffa581f4..09128cd6bc 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -46,29 +46,29 @@ from common.models import InvenTreeSetting from InvenTree import helpers from InvenTree import validators -from InvenTree.models import InvenTreeTree, InvenTreeAttachment, DataImportMixin -from InvenTree.fields import InvenTreeURLField -from InvenTree.helpers import decimal2string, normalize, decimal2money import InvenTree.ready import InvenTree.tasks +from InvenTree.fields import InvenTreeURLField +from InvenTree.helpers import decimal2string, normalize, decimal2money +from InvenTree.models import InvenTreeTree, InvenTreeAttachment, DataImportMixin from InvenTree.status_codes import BuildStatus, PurchaseOrderStatus, SalesOrderStatus +import common.models from build import models as BuildModels from order import models as OrderModels from company.models import SupplierPart +import part.settings as part_settings from stock import models as StockModels -import common.models - -import part.settings as part_settings +from plugin.models import MetadataMixin logger = logging.getLogger("inventree") -class PartCategory(InvenTreeTree): +class PartCategory(MetadataMixin, InvenTreeTree): """ PartCategory provides hierarchical organization of Part objects. Attributes: @@ -327,7 +327,7 @@ class PartManager(TreeManager): @cleanup.ignore -class Part(MPTTModel): +class Part(MetadataMixin, MPTTModel): """ The Part object represents an abstract part, the 'concept' of an actual entity. An actual physical instance of a Part is a StockItem which is treated separately. From 37a74dbfefee6978804f8281573b5bed53c0396b Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 16 May 2022 20:20:32 +1000 Subject: [PATCH 048/134] Adds a metadata serializer class for accessing instance metadata via the API - Adds endpoint for Part - Adds endpoint for PartCategory - Adds endpoint for StockItem - Adds endpoint for StockLocation --- InvenTree/InvenTree/api_tester.py | 12 +++++++ InvenTree/part/api.py | 34 +++++++++++++++++++- InvenTree/part/test_api.py | 53 +++++++++++++++++++++++++++++++ InvenTree/part/test_part.py | 18 +++++++++++ InvenTree/plugin/models.py | 35 ++++++++++++++++++++ InvenTree/plugin/serializers.py | 30 +++++++++++++++++ InvenTree/stock/api.py | 33 +++++++++++++++++-- 7 files changed, 212 insertions(+), 3 deletions(-) diff --git a/InvenTree/InvenTree/api_tester.py b/InvenTree/InvenTree/api_tester.py index fe2057b453..c55c3d3ba3 100644 --- a/InvenTree/InvenTree/api_tester.py +++ b/InvenTree/InvenTree/api_tester.py @@ -142,6 +142,18 @@ class InvenTreeAPITestCase(APITestCase): return response + def put(self, url, data, expected_code=None, format='json'): + """ + Issue a PUT request + """ + + response = self.client.put(url, data=data, format=format) + + if expected_code is not None: + self.assertEqual(response.status_code, expected_code) + + return response + def options(self, url, expected_code=None): """ Issue an OPTIONS request diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index 622ca38669..7213f8af4d 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -44,6 +44,7 @@ from stock.models import StockItem, StockLocation from common.models import InvenTreeSetting from build.models import Build, BuildItem import order.models +from plugin.serializers import MetadataSerializer from . import serializers as part_serializers @@ -203,6 +204,15 @@ class CategoryDetail(generics.RetrieveUpdateDestroyAPIView): return response +class CategoryMetadata(generics.RetrieveUpdateAPIView): + """API endpoint for viewing / updating PartCategory metadata""" + + def get_serializer(self, *args, **kwargs): + return MetadataSerializer(PartCategory, *args, **kwargs) + + queryset = PartCategory.objects.all() + + class CategoryParameterList(generics.ListAPIView): """ API endpoint for accessing a list of PartCategoryParameterTemplate objects. @@ -587,6 +597,17 @@ class PartScheduling(generics.RetrieveAPIView): return Response(schedule) +class PartMetadata(generics.RetrieveUpdateAPIView): + """ + API endpoint for viewing / updating Part metadata + """ + + def get_serializer(self, *args, **kwargs): + return MetadataSerializer(Part, *args, **kwargs) + + queryset = Part.objects.all() + + class PartSerialNumberDetail(generics.RetrieveAPIView): """ API endpoint for returning extra serial number information about a particular part @@ -1912,7 +1933,15 @@ part_api_urls = [ re_path(r'^tree/', CategoryTree.as_view(), name='api-part-category-tree'), re_path(r'^parameters/', CategoryParameterList.as_view(), name='api-part-category-parameter-list'), - re_path(r'^(?P\d+)/?', CategoryDetail.as_view(), name='api-part-category-detail'), + # Category detail endpoints + re_path(r'^(?P\d+)/', include([ + + re_path(r'^metadata/', CategoryMetadata.as_view(), name='api-part-category-metadata'), + + # PartCategory detail endpoint + re_path(r'^.*$', CategoryDetail.as_view(), name='api-part-category-detail'), + ])), + path('', CategoryList.as_view(), name='api-part-category-list'), ])), @@ -1973,6 +2002,9 @@ part_api_urls = [ # Endpoint for validating a BOM for the specific Part re_path(r'^bom-validate/', PartValidateBOM.as_view(), name='api-part-bom-validate'), + # Part metadata + re_path(r'^metadata/', PartMetadata.as_view(), name='api-part-metadata'), + # Part detail endpoint re_path(r'^.*$', PartDetail.as_view(), name='api-part-detail'), ])), diff --git a/InvenTree/part/test_api.py b/InvenTree/part/test_api.py index f0770eb1f5..e138aee2fd 100644 --- a/InvenTree/part/test_api.py +++ b/InvenTree/part/test_api.py @@ -1021,6 +1021,59 @@ class PartDetailTests(InvenTreeAPITestCase): self.assertEqual(data['in_stock'], 9000) self.assertEqual(data['unallocated_stock'], 9000) + def test_part_metadata(self): + """ + Tests for the part metadata endpoint + """ + + url = reverse('api-part-metadata', kwargs={'pk': 1}) + + part = Part.objects.get(pk=1) + + # Metadata is initially null + self.assertIsNone(part.metadata) + + part.metadata = {'foo': 'bar'} + part.save() + + response = self.get(url, expected_code=200) + + self.assertEqual(response.data['metadata']['foo'], 'bar') + + # Add more data via the API + # Using the 'patch' method causes the new data to be merged in + self.patch( + url, + { + 'metadata': { + 'hello': 'world', + } + }, + expected_code=200 + ) + + part.refresh_from_db() + + self.assertEqual(part.metadata['foo'], 'bar') + self.assertEqual(part.metadata['hello'], 'world') + + # Now, issue a PUT request (existing data will be replacted) + self.put( + url, + { + 'metadata': { + 'x': 'y' + }, + }, + expected_code=200 + ) + + part.refresh_from_db() + + self.assertFalse('foo' in part.metadata) + self.assertFalse('hello' in part.metadata) + self.assertEqual(part.metadata['x'], 'y') + class PartAPIAggregationTest(InvenTreeAPITestCase): """ diff --git a/InvenTree/part/test_part.py b/InvenTree/part/test_part.py index 5932c36757..e36d929cfe 100644 --- a/InvenTree/part/test_part.py +++ b/InvenTree/part/test_part.py @@ -245,6 +245,24 @@ class PartTest(TestCase): self.assertEqual(float(self.r1.get_internal_price(1)), 0.08) self.assertEqual(float(self.r1.get_internal_price(10)), 0.5) + def test_metadata(self): + """Unit tests for the Part metadata field""" + + p = Part.objects.get(pk=1) + self.assertIsNone(p.metadata) + + self.assertIsNone(p.get_metadata('test')) + self.assertEqual(p.get_metadata('test', backup_value=123), 123) + + # Test update via the set_metadata() method + p.set_metadata('test', 3) + self.assertEqual(p.get_metadata('test'), 3) + + for k in ['apple', 'banana', 'carrot', 'carrot', 'banana']: + p.set_metadata(k, k) + + self.assertEqual(len(p.metadata.keys()), 4) + class TestTemplateTest(TestCase): diff --git a/InvenTree/plugin/models.py b/InvenTree/plugin/models.py index 130db8d12e..d2d263d14c 100644 --- a/InvenTree/plugin/models.py +++ b/InvenTree/plugin/models.py @@ -39,6 +39,41 @@ class MetadataMixin(models.Model): help_text=_('JSON metadata field, for use by external plugins'), ) + def get_metadata(self, key: str, backup_value=None): + """ + Finds metadata for this model instance, using the provided key for lookup + + Args: + key: String key for requesting metadata. e.g. if a plugin is accessing the metadata, the plugin slug should be used + + Returns: + Python dict object containing requested metadata. If no matching metadata is found, returns None + """ + + if self.metadata is None: + return backup_value + + return self.metadata.get(key, backup_value) + + def set_metadata(self, key: str, data, commit=True): + """ + Save the provided metadata under the provided key. + + Args: + key: String key for saving metadata + data: Data object to save - must be able to be rendered as a JSON string + overwrite: If true, existing metadata with the provided key will be overwritten. If false, a merge will be attempted + """ + + if self.metadata is None: + # Handle a null field value + self.metadata = {} + + self.metadata[key] = data + + if commit: + self.save() + class PluginConfig(models.Model): """ diff --git a/InvenTree/plugin/serializers.py b/InvenTree/plugin/serializers.py index b3c0471635..e4ca703d25 100644 --- a/InvenTree/plugin/serializers.py +++ b/InvenTree/plugin/serializers.py @@ -15,10 +15,40 @@ from django.utils import timezone from rest_framework import serializers +from InvenTree.helpers import str2bool + from plugin.models import PluginConfig, PluginSetting, NotificationUserSetting from common.serializers import GenericReferencedSettingSerializer +class MetadataSerializer(serializers.ModelSerializer): + """ + Serializer class for model metadata API access. + """ + + metadata = serializers.JSONField(required=True) + + def __init__(self, model_type, *args, **kwargs): + + self.Meta.model = model_type + super().__init__(*args, **kwargs) + + class Meta: + fields = [ + 'metadata', + ] + + def update(self, instance, data): + + if self.partial: + # Default behaviour is to "merge" new data in + metadata = instance.metadata.copy() if instance.metadata else {} + metadata.update(data['metadata']) + data['metadata'] = metadata + + return super().update(instance, data) + + class PluginConfigSerializer(serializers.ModelSerializer): """ Serializer for a PluginConfig: diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 96a893e914..b917c6d8ac 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -43,6 +43,8 @@ from order.serializers import PurchaseOrderSerializer from part.models import BomItem, Part, PartCategory from part.serializers import PartBriefSerializer +from plugin.serializers import MetadataSerializer + from stock.admin import StockItemResource from stock.models import StockLocation, StockItem from stock.models import StockItemTracking @@ -92,6 +94,15 @@ class StockDetail(generics.RetrieveUpdateDestroyAPIView): return self.serializer_class(*args, **kwargs) +class StockMetadata(generics.RetrieveUpdateAPIView): + """API endpoint for viewing / updating StockItem metadata""" + + def get_serializer(self, *args, **kwargs): + return MetadataSerializer(StockItem, *args, **kwargs) + + queryset = StockItem.objects.all() + + class StockItemContextMixin: """ Mixin class for adding StockItem object to serializer context """ @@ -1368,6 +1379,15 @@ class StockTrackingList(generics.ListAPIView): ] +class LocationMetadata(generics.RetrieveUpdateAPIView): + """API endpoint for viewing / updating StockLocation metadata""" + + def get_serializer(self, *args, **kwargs): + return MetadataSerializer(StockLocation, *args, **kwargs) + + queryset = StockLocation.objects.all() + + class LocationDetail(generics.RetrieveUpdateDestroyAPIView): """ API endpoint for detail view of StockLocation object @@ -1385,7 +1405,15 @@ stock_api_urls = [ re_path(r'^tree/', StockLocationTree.as_view(), name='api-location-tree'), - re_path(r'^(?P\d+)/', LocationDetail.as_view(), name='api-location-detail'), + # Stock location detail endpoints + re_path(r'^(?P\d+)/', include([ + + re_path(r'^metadata/', LocationMetadata.as_view(), name='api-location-metadata'), + + re_path(r'^.*$', LocationDetail.as_view(), name='api-location-detail'), + ])), + + re_path(r'^.*$', StockLocationList.as_view(), name='api-location-list'), ])), @@ -1417,8 +1445,9 @@ stock_api_urls = [ # Detail views for a single stock item re_path(r'^(?P\d+)/', include([ - re_path(r'^serialize/', StockItemSerialize.as_view(), name='api-stock-item-serialize'), re_path(r'^install/', StockItemInstall.as_view(), name='api-stock-item-install'), + re_path(r'^metadata/', StockMetadata.as_view(), name='api-stock-item-metadata'), + re_path(r'^serialize/', StockItemSerialize.as_view(), name='api-stock-item-serialize'), re_path(r'^uninstall/', StockItemUninstall.as_view(), name='api-stock-item-uninstall'), re_path(r'^.*$', StockDetail.as_view(), name='api-stock-detail'), ])), From a52ba05eb7e78d5b09e7a510a3f619502b16e9f3 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 16 May 2022 21:19:01 +1000 Subject: [PATCH 049/134] Add unit test for PartCategory API endpoints --- InvenTree/part/test_api.py | 79 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) diff --git a/InvenTree/part/test_api.py b/InvenTree/part/test_api.py index e138aee2fd..2adffa6368 100644 --- a/InvenTree/part/test_api.py +++ b/InvenTree/part/test_api.py @@ -21,6 +21,85 @@ import build.models import order.models +class PartCategoryAPITest(InvenTreeAPITestCase): + """Unit tests for the PartCategory API""" + + fixtures = [ + 'category', + 'part', + 'location', + 'bom', + 'company', + 'test_templates', + 'manufacturer_part', + 'supplier_part', + 'order', + 'stock', + ] + + roles = [ + 'part.change', + 'part.add', + 'part.delete', + 'part_category.change', + 'part_category.add', + ] + + def test_category_list(self): + + # List all part categories + url = reverse('api-part-category-list') + + response = self.get(url, expected_code=200) + + self.assertEqual(len(response.data), 8) + + # Filter by parent, depth=1 + response = self.get( + url, + { + 'parent': 1, + 'cascade': False, + }, + expected_code=200 + ) + + self.assertEqual(len(response.data), 3) + + # Filter by parent, cascading + response = self.get( + url, + { + 'parent': 1, + 'cascade': True, + }, + expected_code=200, + ) + + self.assertEqual(len(response.data), 5) + + def test_category_metadata(self): + """Test metadata endpoint for the PartCategory""" + + cat = PartCategory.objects.get(pk=1) + + cat.metadata = { + 'foo': 'bar', + 'water': 'melon', + 'abc': 'xyz', + } + + cat.set_metadata('abc', 'ABC') + + response = self.get(reverse('api-part-category-detail', kwargs={'pk': 1}), expected_code=200) + + metadata = response.data['metadata'] + + self.assertEqual(metadata['foo'], 'bar') + self.assertEqual(metadata['water'], 'melon') + self.assertEqual(metadata['abc'], 'ABC') + + class PartOptionsAPITest(InvenTreeAPITestCase): """ Tests for the various OPTIONS endpoints in the /part/ API From 21ebf562fdbc88137e16545422a956f581053a36 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 16 May 2022 21:21:32 +1000 Subject: [PATCH 050/134] Adds metadata fields to PurchaseOrder and SalesOrder models --- .../migrations/0067_auto_20220516_1120.py | 23 +++++++++++++++++++ InvenTree/order/models.py | 4 +++- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 InvenTree/order/migrations/0067_auto_20220516_1120.py diff --git a/InvenTree/order/migrations/0067_auto_20220516_1120.py b/InvenTree/order/migrations/0067_auto_20220516_1120.py new file mode 100644 index 0000000000..0c5409cf35 --- /dev/null +++ b/InvenTree/order/migrations/0067_auto_20220516_1120.py @@ -0,0 +1,23 @@ +# Generated by Django 3.2.13 on 2022-05-16 11:20 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('order', '0066_alter_purchaseorder_supplier'), + ] + + operations = [ + migrations.AddField( + model_name='purchaseorder', + name='metadata', + field=models.JSONField(blank=True, help_text='JSON metadata field, for use by external plugins', null=True, verbose_name='Plugin Metadata'), + ), + migrations.AddField( + model_name='salesorder', + name='metadata', + field=models.JSONField(blank=True, help_text='JSON metadata field, for use by external plugins', null=True, verbose_name='Plugin Metadata'), + ), + ] diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index 6ca5b7a293..d0e4f8d93b 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -30,7 +30,9 @@ from users import models as UserModels from part import models as PartModels from stock import models as stock_models from company.models import Company, SupplierPart + from plugin.events import trigger_event +from plugin.models import MetadataMixin import InvenTree.helpers from InvenTree.fields import InvenTreeModelMoneyField, RoundingDecimalField @@ -97,7 +99,7 @@ def get_next_so_number(): return reference -class Order(ReferenceIndexingMixin): +class Order(MetadataMixin, ReferenceIndexingMixin): """ Abstract model for an order. Instances of this class: From 5582c8ba4388a7e50715bda301249cdd439d8096 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 16 May 2022 21:29:49 +1000 Subject: [PATCH 051/134] Add metadata endpoints for SalesOrder and PurchaseOrder models --- InvenTree/order/api.py | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/InvenTree/order/api.py b/InvenTree/order/api.py index 7c8a93125f..2f307fd1a1 100644 --- a/InvenTree/order/api.py +++ b/InvenTree/order/api.py @@ -27,6 +27,8 @@ import order.serializers as serializers from part.models import Part from users.models import Owner +from plugin.serializers import MetadataSerializer + class GeneralExtraLineList: """ @@ -347,6 +349,15 @@ class PurchaseOrderIssue(PurchaseOrderContextMixin, generics.CreateAPIView): serializer_class = serializers.PurchaseOrderIssueSerializer +class PurchaseOrderMetadata(generics.RetrieveUpdateAPIView): + """API endpoint for viewing / updating PurchaseOrder metadata""" + + def get_serializer(self, *args, **kwargs): + return MetadataSerializer(models.PurchaseOrder, *args, **kwargs) + + queryset = models.PurchaseOrder.objects.all() + + class PurchaseOrderReceive(PurchaseOrderContextMixin, generics.CreateAPIView): """ API endpoint to receive stock items against a purchase order. @@ -916,6 +927,15 @@ class SalesOrderComplete(SalesOrderContextMixin, generics.CreateAPIView): serializer_class = serializers.SalesOrderCompleteSerializer +class SalesOrderMetadata(generics.RetrieveUpdateAPIView): + """API endpoint for viewing / updating SalesOrder metadata""" + + def get_serializer(self, *args, **kwargs): + return MetadataSerializer(models.SalesOrder, *args, **kwargs) + + queryset = models.SalesOrder.objects.all() + + class SalesOrderAllocateSerials(SalesOrderContextMixin, generics.CreateAPIView): """ API endpoint to allocation stock items against a SalesOrder, @@ -1138,10 +1158,13 @@ order_api_urls = [ # Individual purchase order detail URLs re_path(r'^(?P\d+)/', include([ - re_path(r'^issue/', PurchaseOrderIssue.as_view(), name='api-po-issue'), - re_path(r'^receive/', PurchaseOrderReceive.as_view(), name='api-po-receive'), re_path(r'^cancel/', PurchaseOrderCancel.as_view(), name='api-po-cancel'), re_path(r'^complete/', PurchaseOrderComplete.as_view(), name='api-po-complete'), + re_path(r'^issue/', PurchaseOrderIssue.as_view(), name='api-po-issue'), + re_path(r'^metadata/', PurchaseOrderMetadata.as_view(), name='api-po-metadata'), + re_path(r'^receive/', PurchaseOrderReceive.as_view(), name='api-po-receive'), + + # PurchaseOrder detail API endpoint re_path(r'.*$', PurchaseOrderDetail.as_view(), name='api-po-detail'), ])), @@ -1178,10 +1201,13 @@ order_api_urls = [ # Sales order detail view re_path(r'^(?P\d+)/', include([ - re_path(r'^cancel/', SalesOrderCancel.as_view(), name='api-so-cancel'), - re_path(r'^complete/', SalesOrderComplete.as_view(), name='api-so-complete'), re_path(r'^allocate/', SalesOrderAllocate.as_view(), name='api-so-allocate'), re_path(r'^allocate-serials/', SalesOrderAllocateSerials.as_view(), name='api-so-allocate-serials'), + re_path(r'^cancel/', SalesOrderCancel.as_view(), name='api-so-cancel'), + re_path(r'^complete/', SalesOrderComplete.as_view(), name='api-so-complete'), + re_path(r'^metadata/', SalesOrderMetadata.as_view(), name='api-so-metadata'), + + # SalesOrder detail endpoint re_path(r'^.*$', SalesOrderDetail.as_view(), name='api-so-detail'), ])), From bd17458f37ea9f746b7a73bec6b370c92997b351 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 16 May 2022 21:40:10 +1000 Subject: [PATCH 052/134] Add metadata endpoints for SalesOrder and PurchaseOrder models --- InvenTree/order/api.py | 4 ++-- InvenTree/order/test_api.py | 32 ++++++++++++++++++++++++++++++++ InvenTree/part/test_part.py | 2 +- InvenTree/plugin/models.py | 10 +++++----- InvenTree/plugin/serializers.py | 4 +--- InvenTree/stock/api.py | 5 ++--- 6 files changed, 43 insertions(+), 14 deletions(-) diff --git a/InvenTree/order/api.py b/InvenTree/order/api.py index 2f307fd1a1..966a01eb93 100644 --- a/InvenTree/order/api.py +++ b/InvenTree/order/api.py @@ -354,7 +354,7 @@ class PurchaseOrderMetadata(generics.RetrieveUpdateAPIView): def get_serializer(self, *args, **kwargs): return MetadataSerializer(models.PurchaseOrder, *args, **kwargs) - + queryset = models.PurchaseOrder.objects.all() @@ -932,7 +932,7 @@ class SalesOrderMetadata(generics.RetrieveUpdateAPIView): def get_serializer(self, *args, **kwargs): return MetadataSerializer(models.SalesOrder, *args, **kwargs) - + queryset = models.SalesOrder.objects.all() diff --git a/InvenTree/order/test_api.py b/InvenTree/order/test_api.py index 2ac7689434..76aa8670a4 100644 --- a/InvenTree/order/test_api.py +++ b/InvenTree/order/test_api.py @@ -306,6 +306,22 @@ class PurchaseOrderTest(OrderTest): self.assertEqual(po.status, PurchaseOrderStatus.PLACED) + def test_po_metadata(self): + url = reverse('api-po-metadata', kwargs={'pk': 1}) + + self.patch( + url, + { + 'metadata': { + 'yam': 'yum', + } + }, + expected_code=200 + ) + + order = models.PurchaseOrder.objects.get(pk=1) + self.assertEqual(order.get_metadata('yam'), 'yum') + class PurchaseOrderReceiveTest(OrderTest): """ @@ -875,6 +891,22 @@ class SalesOrderTest(OrderTest): self.assertEqual(so.status, SalesOrderStatus.CANCELLED) + def test_so_metadata(self): + url = reverse('api-so-metadata', kwargs={'pk': 1}) + + self.patch( + url, + { + 'metadata': { + 'xyz': 'abc', + } + }, + expected_code=200 + ) + + order = models.SalesOrder.objects.get(pk=1) + self.assertEqual(order.get_metadata('xyz'), 'abc') + class SalesOrderAllocateTest(OrderTest): """ diff --git a/InvenTree/part/test_part.py b/InvenTree/part/test_part.py index e36d929cfe..f1bfcab40a 100644 --- a/InvenTree/part/test_part.py +++ b/InvenTree/part/test_part.py @@ -199,7 +199,7 @@ class PartTest(TestCase): with self.assertRaises(ValidationError): part_2.validate_unique() - def test_metadata(self): + def test_attributes(self): self.assertEqual(self.r1.name, 'R_2K2_0805') self.assertEqual(self.r1.get_absolute_url(), '/part/3/') diff --git a/InvenTree/plugin/models.py b/InvenTree/plugin/models.py index d2d263d14c..4db66a30fd 100644 --- a/InvenTree/plugin/models.py +++ b/InvenTree/plugin/models.py @@ -45,16 +45,16 @@ class MetadataMixin(models.Model): Args: key: String key for requesting metadata. e.g. if a plugin is accessing the metadata, the plugin slug should be used - + Returns: Python dict object containing requested metadata. If no matching metadata is found, returns None """ if self.metadata is None: return backup_value - + return self.metadata.get(key, backup_value) - + def set_metadata(self, key: str, data, commit=True): """ Save the provided metadata under the provided key. @@ -68,9 +68,9 @@ class MetadataMixin(models.Model): if self.metadata is None: # Handle a null field value self.metadata = {} - + self.metadata[key] = data - + if commit: self.save() diff --git a/InvenTree/plugin/serializers.py b/InvenTree/plugin/serializers.py index e4ca703d25..d03b892eb3 100644 --- a/InvenTree/plugin/serializers.py +++ b/InvenTree/plugin/serializers.py @@ -15,8 +15,6 @@ from django.utils import timezone from rest_framework import serializers -from InvenTree.helpers import str2bool - from plugin.models import PluginConfig, PluginSetting, NotificationUserSetting from common.serializers import GenericReferencedSettingSerializer @@ -37,7 +35,7 @@ class MetadataSerializer(serializers.ModelSerializer): fields = [ 'metadata', ] - + def update(self, instance, data): if self.partial: diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index b917c6d8ac..9f6c3b9191 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -1384,7 +1384,7 @@ class LocationMetadata(generics.RetrieveUpdateAPIView): def get_serializer(self, *args, **kwargs): return MetadataSerializer(StockLocation, *args, **kwargs) - + queryset = StockLocation.objects.all() @@ -1412,8 +1412,7 @@ stock_api_urls = [ re_path(r'^.*$', LocationDetail.as_view(), name='api-location-detail'), ])), - - + re_path(r'^.*$', StockLocationList.as_view(), name='api-location-list'), ])), From 7e6d3d81b99e9d741056a3f22dba50df20d08de4 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 16 May 2022 21:47:09 +1000 Subject: [PATCH 053/134] Update dockerfile to 3.14 --- docker/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 4c6a351adc..1b7c16db30 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.13 as base +FROM alpine:3.14 as base # GitHub source ARG repository="https://github.com/inventree/InvenTree.git" @@ -68,7 +68,7 @@ RUN apk add --no-cache git make bash \ # Special deps for WeasyPrint (these will be deprecated once WeasyPrint drops cairo requirement) cairo cairo-dev pango pango-dev gdk-pixbuf \ # Fonts - fontconfig ttf-droid ttf-liberation ttf-dejavu ttf-opensans ttf-ubuntu-font-family font-croscore font-noto \ + fontconfig ttf-droid ttf-liberation ttf-dejavu ttf-opensans font-croscore font-noto \ # Core python python3 python3-dev py3-pip \ # SQLite support From 73413baa59e522177574a550093b8d161408e79b Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 16 May 2022 22:01:34 +1000 Subject: [PATCH 054/134] Add required imports to plugin.events --- InvenTree/plugin/events.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/InvenTree/plugin/events.py b/InvenTree/plugin/events.py index bea1fafb25..66c6267d53 100644 --- a/InvenTree/plugin/events.py +++ b/InvenTree/plugin/events.py @@ -2,8 +2,10 @@ Import helper for events """ -from plugin.base.event.events import trigger_event +from plugin.base.event.events import process_event, register_event, trigger_event __all__ = [ + 'process_event', + 'register_event', 'trigger_event', ] From 2ed69f638a6ac3dff41a253db165d83f79298a31 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 16 May 2022 22:08:58 +1000 Subject: [PATCH 055/134] Fix error message --- InvenTree/InvenTree/tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/tasks.py b/InvenTree/InvenTree/tasks.py index 49a4049be5..a53fd567ab 100644 --- a/InvenTree/InvenTree/tasks.py +++ b/InvenTree/InvenTree/tasks.py @@ -126,8 +126,8 @@ def heartbeat(): try: from django_q.models import Success - logger.info("Could not perform heartbeat task - App registry not ready") except AppRegistryNotReady: # pragma: no cover + logger.info("Could not perform heartbeat task - App registry not ready") return threshold = timezone.now() - timedelta(minutes=30) From 7fa83d70ad77005d17f3dd4e13dc04839fa898ad Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 16 May 2022 22:14:06 +1000 Subject: [PATCH 056/134] Fix for broken unit test --- InvenTree/part/test_api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/part/test_api.py b/InvenTree/part/test_api.py index 2adffa6368..dc79a3a123 100644 --- a/InvenTree/part/test_api.py +++ b/InvenTree/part/test_api.py @@ -91,7 +91,7 @@ class PartCategoryAPITest(InvenTreeAPITestCase): cat.set_metadata('abc', 'ABC') - response = self.get(reverse('api-part-category-detail', kwargs={'pk': 1}), expected_code=200) + response = self.get(reverse('api-part-category-metadata', kwargs={'pk': 1}), expected_code=200) metadata = response.data['metadata'] From 1903ac12cd17a2d7dc3a73d22d1914ef30ebec88 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 16 May 2022 22:43:29 +1000 Subject: [PATCH 057/134] Allow customization of button class in modal forms --- InvenTree/templates/js/translated/forms.js | 1 + InvenTree/templates/js/translated/modals.js | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/InvenTree/templates/js/translated/forms.js b/InvenTree/templates/js/translated/forms.js index 642523a60b..d45a2de78c 100644 --- a/InvenTree/templates/js/translated/forms.js +++ b/InvenTree/templates/js/translated/forms.js @@ -288,6 +288,7 @@ function constructDeleteForm(fields, options) { * - method: The HTTP method e.g. 'PUT', 'POST', 'DELETE' (default='PATCH') * - title: The form title * - submitText: Text for the "submit" button + * - submitClass: CSS class for the "submit" button (default = ') * - closeText: Text for the "close" button * - fields: list of fields to display, with the following options * - filters: API query filters diff --git a/InvenTree/templates/js/translated/modals.js b/InvenTree/templates/js/translated/modals.js index 85f503682e..464006ae12 100644 --- a/InvenTree/templates/js/translated/modals.js +++ b/InvenTree/templates/js/translated/modals.js @@ -42,6 +42,8 @@ function createNewModal(options={}) { } }); + var submitClass = options.submitClass || 'primary'; + var html = `
From 6658b899460f544c5c9f76858586c5c6e9489cba Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 16 May 2022 22:51:34 +1000 Subject: [PATCH 058/134] Refactor BOM item deletion - Send delete requests sequentially, rather than simultaneously - Prevents server overload - Present a much cleaner dialog to the user --- InvenTree/part/templates/part/detail.html | 31 ++------ InvenTree/templates/js/translated/bom.js | 96 ++++++++++++++++++++--- 2 files changed, 93 insertions(+), 34 deletions(-) diff --git a/InvenTree/part/templates/part/detail.html b/InvenTree/part/templates/part/detail.html index bcedc95da8..1c80a88c28 100644 --- a/InvenTree/part/templates/part/detail.html +++ b/InvenTree/part/templates/part/detail.html @@ -589,32 +589,15 @@ // Get a list of the selected BOM items var rows = $("#bom-table").bootstrapTable('getSelections'); - // TODO - In the future, display (in the dialog) which items are going to be deleted + if (rows.length == 0) { + rows = $('#bom-table').bootstrapTable('getData'); + } - showQuestionDialog( - '{% trans "Delete selected BOM items?" %}', - '{% trans "All selected BOM items will be deleted" %}', - { - accept: function() { - - // Keep track of each DELETE request - var requests = []; - - rows.forEach(function(row) { - requests.push( - inventreeDelete( - `/api/bom/${row.pk}/`, - ) - ); - }); - - // Wait for *all* the requests to complete - $.when.apply($, requests).done(function() { - location.reload(); - }); - } + deleteBomItems(rows, { + success: function() { + $('#bom-table').bootstrapTable('refresh'); } - ); + }); }); $('#bom-upload').click(function() { diff --git a/InvenTree/templates/js/translated/bom.js b/InvenTree/templates/js/translated/bom.js index 9bd66877da..0119b36664 100644 --- a/InvenTree/templates/js/translated/bom.js +++ b/InvenTree/templates/js/translated/bom.js @@ -16,6 +16,7 @@ /* exported constructBomUploadTable, + deleteBomItems, downloadBomTemplate, exportBom, newPartFromBomWizard, @@ -647,7 +648,88 @@ function bomSubstitutesDialog(bom_item_id, substitutes, options={}) { reloadParentTable(); } }); +} + +function deleteBomItems(items, options={}) { + /* Delete the selected BOM items from the database + */ + + function renderItem(item, opts={}) { + + var sub_part = item.sub_part_detail; + var thumb = thumbnailImage(sub_part.thumbnail || sub_part.image); + + var html = ` + + ${thumb} ${sub_part.full_name} + ${item.reference} + ${item.quantity} + + `; + + return html; + } + + var rows = ''; + + items.forEach(function(item) { + rows += renderItem(item); + }); + + var html = ` +
+ {% trans "All selected BOM items will be deleted" %} +
+ + + + + + + + ${rows} +
{% trans "Part" %}{% trans "Reference" %}{% trans "Quantity" %}
+ `; + + constructFormBody({}, { + title: '{% trans "Delete selected BOM items?" %}', + fields: {}, + preFormContent: html, + submitText: '{% trans "Delete" %}', + submitClass: 'danger', + confirm: true, + onSubmit: function(fields, opts) { + // Individually send DELETE requests for each BOM item + // We do *not* send these all at once, to prevent overloading the server + + // Show the progress spinner + $(opts.modal).find('#modal-progress-spinner').show(); + + function deleteNextBomItem() { + + if (items.length > 0) { + + var item = items.shift(); + + inventreeDelete(`/api/bom/${item.pk}/`, + { + complete: deleteNextBomItem, + } + ); + } else { + // Destroy this modal once all items are deleted + $(opts.modal).modal('hide'); + + if (options.success) { + options.success(); + } + } + } + + deleteNextBomItem(); + }, + }); } @@ -1146,19 +1228,13 @@ function loadBomTable(table, options={}) { var pk = $(this).attr('pk'); - var html = ` -
- {% trans "Are you sure you want to delete this BOM item?" %} -
`; + var item = table.bootstrapTable('getRowByUniqueId', pk); - constructForm(`/api/bom/${pk}/`, { - method: 'DELETE', - title: '{% trans "Delete BOM Item" %}', - preFormContent: html, - onSuccess: function() { + deleteBomItems([item], { + success: function() { reloadBomTable(table); } - }); + }); }); // Callback for "edit" button From ea2fb76a29d695531eb2e3a2a5a7fff4131102aa Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 16 May 2022 23:04:58 +1000 Subject: [PATCH 059/134] Translation merge (#3009) * updated translation base * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- InvenTree/locale/cs/LC_MESSAGES/django.po | 966 +++++++------- InvenTree/locale/de/LC_MESSAGES/django.po | 1214 +++++++++--------- InvenTree/locale/el/LC_MESSAGES/django.po | 966 +++++++------- InvenTree/locale/en/LC_MESSAGES/django.po | 1088 ++++++++-------- InvenTree/locale/es/LC_MESSAGES/django.po | 966 +++++++------- InvenTree/locale/es_MX/LC_MESSAGES/django.po | 1088 ++++++++-------- InvenTree/locale/fa/LC_MESSAGES/django.po | 966 +++++++------- InvenTree/locale/fr/LC_MESSAGES/django.po | 966 +++++++------- InvenTree/locale/he/LC_MESSAGES/django.po | 966 +++++++------- InvenTree/locale/hu/LC_MESSAGES/django.po | 966 +++++++------- InvenTree/locale/id/LC_MESSAGES/django.po | 966 +++++++------- InvenTree/locale/it/LC_MESSAGES/django.po | 1008 +++++++-------- InvenTree/locale/ja/LC_MESSAGES/django.po | 966 +++++++------- InvenTree/locale/ko/LC_MESSAGES/django.po | 966 +++++++------- InvenTree/locale/nl/LC_MESSAGES/django.po | 966 +++++++------- InvenTree/locale/no/LC_MESSAGES/django.po | 966 +++++++------- InvenTree/locale/pl/LC_MESSAGES/django.po | 966 +++++++------- InvenTree/locale/pt/LC_MESSAGES/django.po | 966 +++++++------- InvenTree/locale/pt_br/LC_MESSAGES/django.po | 1088 ++++++++-------- InvenTree/locale/ru/LC_MESSAGES/django.po | 966 +++++++------- InvenTree/locale/sv/LC_MESSAGES/django.po | 966 +++++++------- InvenTree/locale/th/LC_MESSAGES/django.po | 966 +++++++------- InvenTree/locale/tr/LC_MESSAGES/django.po | 966 +++++++------- InvenTree/locale/vi/LC_MESSAGES/django.po | 966 +++++++------- InvenTree/locale/zh/LC_MESSAGES/django.po | 966 +++++++------- 25 files changed, 12421 insertions(+), 12385 deletions(-) diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po index 36ed79e87f..2bb64313db 100644 --- a/InvenTree/locale/cs/LC_MESSAGES/django.po +++ b/InvenTree/locale/cs/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-10 04:16+0000\n" -"PO-Revision-Date: 2022-05-11 00:29\n" +"POT-Creation-Date: 2022-05-15 23:30+0000\n" +"PO-Revision-Date: 2022-05-16 01:10\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -17,18 +17,10 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:53 msgid "API endpoint not found" msgstr "API endpoint nebyl nalezen" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "Činnost nebyla specifikována" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "Nebyla nalezena odpovídající činnost" - #: InvenTree/fields.py:100 msgid "Enter date" msgstr "Zadejte datum" @@ -128,7 +120,7 @@ msgstr "Chybějící soubor" msgid "Missing external link" msgstr "Chybějící externí odkaz" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2212 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "Příloha" @@ -146,7 +138,7 @@ msgid "Link" msgstr "Odkaz" #: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: stock/models.py:677 msgid "Link to external URL" msgstr "Odkaz na externí URL" @@ -158,10 +150,10 @@ msgstr "Komentář" msgid "File comment" msgstr "Komentář k souboru" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 +#: common/models.py:1547 common/models.py:1778 common/models.py:1779 +#: common/models.py:2006 common/models.py:2007 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -200,9 +192,9 @@ msgstr "Chyba při přejmenování souboru" msgid "Invalid choice" msgstr "Neplatný výběr" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 #: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: part/models.py:2555 plugin/models.py:43 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -230,8 +222,8 @@ msgstr "Název" #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -440,7 +432,7 @@ msgid "Returned" msgstr "Vráceno" #: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "Odesláno" @@ -616,46 +608,6 @@ msgstr "Hesla se musí shodovat" msgid "System Information" msgstr "Informace o systému" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "Pro data čárového kódu nebyla nalezena shoda" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "Pro data čárového kódu byla nalezena shoda" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "" @@ -687,8 +639,8 @@ msgstr "" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 +#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 msgid "Reference" msgstr "" @@ -727,8 +679,8 @@ msgstr "" #: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -750,7 +702,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" @@ -791,7 +743,7 @@ msgid "Build status code" msgstr "" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: stock/models.py:681 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" @@ -800,7 +752,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" @@ -834,7 +786,7 @@ msgstr "" #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" @@ -845,7 +797,7 @@ msgstr "" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 +#: part/templates/part/part_base.html:346 stock/models.py:675 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "" @@ -858,14 +810,14 @@ msgstr "" #: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 +#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "" @@ -928,9 +880,9 @@ msgstr "" #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" @@ -942,7 +894,7 @@ msgstr "" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 +#: build/templates/build/detail.html:34 common/models.py:1589 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 @@ -964,10 +916,10 @@ msgstr "" #: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -1015,7 +967,7 @@ msgstr "" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "" @@ -1060,8 +1012,8 @@ msgstr "" #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 @@ -1076,8 +1028,8 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "" @@ -1278,9 +1230,9 @@ msgstr "" #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "" @@ -1314,7 +1266,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1350,7 +1302,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1592,856 +1544,856 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:387 +#: common/models.py:401 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:389 +#: common/models.py:403 msgid "Settings value" msgstr "" -#: common/models.py:430 +#: common/models.py:444 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:450 +#: common/models.py:464 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:461 +#: common/models.py:475 msgid "Value must be an integer value" msgstr "" -#: common/models.py:510 +#: common/models.py:524 msgid "Key string must be unique" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "No group" msgstr "" -#: common/models.py:784 +#: common/models.py:788 msgid "Restart required" msgstr "" -#: common/models.py:785 +#: common/models.py:789 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:792 +#: common/models.py:796 msgid "Server Instance Name" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:798 +#: common/models.py:802 msgid "Use instance name" msgstr "" -#: common/models.py:799 +#: common/models.py:803 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:805 +#: common/models.py:809 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:816 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Internal company name" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Base URL" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Base URL for server instance" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Default Currency" msgstr "" -#: common/models.py:826 +#: common/models.py:830 msgid "Default currency" msgstr "" -#: common/models.py:832 +#: common/models.py:836 msgid "Download from URL" msgstr "" -#: common/models.py:833 +#: common/models.py:837 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:840 +#: common/models.py:844 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:846 +#: common/models.py:850 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:851 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:857 msgid "IPN Regex" msgstr "" -#: common/models.py:854 +#: common/models.py:858 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:858 +#: common/models.py:862 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:859 +#: common/models.py:863 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:865 +#: common/models.py:869 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:866 +#: common/models.py:870 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:872 +#: common/models.py:876 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:873 +#: common/models.py:877 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:883 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:880 +#: common/models.py:884 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:886 +#: common/models.py:890 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:887 +#: common/models.py:891 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:893 +#: common/models.py:897 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:894 +#: common/models.py:898 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:904 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:901 +#: common/models.py:905 msgid "Parts are templates by default" msgstr "" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:908 +#: common/models.py:912 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:914 part/models.py:967 +#: common/models.py:918 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:915 +#: common/models.py:919 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:921 part/models.py:978 +#: common/models.py:925 part/models.py:978 msgid "Purchaseable" msgstr "" -#: common/models.py:922 +#: common/models.py:926 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:928 part/models.py:983 +#: common/models.py:932 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:929 +#: common/models.py:933 msgid "Parts are salable by default" msgstr "" -#: common/models.py:935 part/models.py:973 +#: common/models.py:939 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:936 +#: common/models.py:940 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:942 part/models.py:993 +#: common/models.py:946 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:943 +#: common/models.py:947 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:949 +#: common/models.py:953 msgid "Show Import in Views" msgstr "" -#: common/models.py:950 +#: common/models.py:954 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:956 +#: common/models.py:960 msgid "Show Price in Forms" msgstr "" -#: common/models.py:957 +#: common/models.py:961 msgid "Display part price in some forms" msgstr "" -#: common/models.py:968 +#: common/models.py:972 msgid "Show Price in BOM" msgstr "" -#: common/models.py:969 +#: common/models.py:973 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:980 +#: common/models.py:984 msgid "Show Price History" msgstr "" -#: common/models.py:981 +#: common/models.py:985 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:987 +#: common/models.py:991 msgid "Show related parts" msgstr "" -#: common/models.py:988 +#: common/models.py:992 msgid "Display related parts for a part" msgstr "" -#: common/models.py:994 +#: common/models.py:998 msgid "Create initial stock" msgstr "" -#: common/models.py:995 +#: common/models.py:999 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1001 +#: common/models.py:1005 msgid "Internal Prices" msgstr "" -#: common/models.py:1002 +#: common/models.py:1006 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1008 +#: common/models.py:1012 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1009 +#: common/models.py:1013 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1015 +#: common/models.py:1019 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1016 +#: common/models.py:1020 msgid "Format to display the part name" msgstr "" -#: common/models.py:1023 +#: common/models.py:1027 msgid "Enable Reports" msgstr "" -#: common/models.py:1024 +#: common/models.py:1028 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1034 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1031 +#: common/models.py:1035 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1037 +#: common/models.py:1041 msgid "Page Size" msgstr "" -#: common/models.py:1038 +#: common/models.py:1042 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1048 +#: common/models.py:1052 msgid "Test Reports" msgstr "" -#: common/models.py:1049 +#: common/models.py:1053 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1055 +#: common/models.py:1059 msgid "Batch Code Template" msgstr "" -#: common/models.py:1056 +#: common/models.py:1060 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1061 +#: common/models.py:1065 msgid "Stock Expiry" msgstr "" -#: common/models.py:1062 +#: common/models.py:1066 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1068 +#: common/models.py:1072 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1069 +#: common/models.py:1073 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1075 +#: common/models.py:1079 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1076 +#: common/models.py:1080 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1078 +#: common/models.py:1082 msgid "days" msgstr "" -#: common/models.py:1083 +#: common/models.py:1087 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1084 +#: common/models.py:1088 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1090 +#: common/models.py:1094 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1091 +#: common/models.py:1095 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1097 +#: common/models.py:1101 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1098 +#: common/models.py:1102 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1103 +#: common/models.py:1107 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1104 +#: common/models.py:1108 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1108 +#: common/models.py:1112 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1109 +#: common/models.py:1113 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1118 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1115 +#: common/models.py:1119 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1121 +#: common/models.py:1125 msgid "Enable password forgot" msgstr "" -#: common/models.py:1122 +#: common/models.py:1126 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1128 +#: common/models.py:1132 msgid "Enable registration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1133 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1135 +#: common/models.py:1139 msgid "Enable SSO" msgstr "" -#: common/models.py:1136 +#: common/models.py:1140 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1142 +#: common/models.py:1146 msgid "Email required" msgstr "" -#: common/models.py:1143 +#: common/models.py:1147 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1149 +#: common/models.py:1153 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1150 +#: common/models.py:1154 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1156 +#: common/models.py:1160 msgid "Mail twice" msgstr "" -#: common/models.py:1157 +#: common/models.py:1161 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1163 +#: common/models.py:1167 msgid "Password twice" msgstr "" -#: common/models.py:1164 +#: common/models.py:1168 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1170 +#: common/models.py:1174 msgid "Group on signup" msgstr "" -#: common/models.py:1171 +#: common/models.py:1175 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1177 +#: common/models.py:1181 msgid "Enforce MFA" msgstr "" -#: common/models.py:1178 +#: common/models.py:1182 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1184 +#: common/models.py:1188 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1185 +#: common/models.py:1189 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1193 +#: common/models.py:1197 msgid "Enable URL integration" msgstr "" -#: common/models.py:1194 +#: common/models.py:1198 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1201 +#: common/models.py:1205 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1202 +#: common/models.py:1206 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1209 +#: common/models.py:1213 msgid "Enable app integration" msgstr "" -#: common/models.py:1210 +#: common/models.py:1214 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1217 +#: common/models.py:1221 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1218 +#: common/models.py:1222 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1225 +#: common/models.py:1229 msgid "Enable event integration" msgstr "" -#: common/models.py:1226 +#: common/models.py:1230 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1245 common/models.py:1539 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1272 +#: common/models.py:1276 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1273 +#: common/models.py:1277 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1279 +#: common/models.py:1283 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1280 +#: common/models.py:1284 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1286 +#: common/models.py:1290 msgid "Show latest parts" msgstr "" -#: common/models.py:1287 +#: common/models.py:1291 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1293 +#: common/models.py:1297 msgid "Recent Part Count" msgstr "" -#: common/models.py:1294 +#: common/models.py:1298 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1300 +#: common/models.py:1304 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1301 +#: common/models.py:1305 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1311 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1308 +#: common/models.py:1312 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1314 +#: common/models.py:1318 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1315 +#: common/models.py:1319 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1321 +#: common/models.py:1325 msgid "Show low stock" msgstr "" -#: common/models.py:1322 +#: common/models.py:1326 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1332 msgid "Show depleted stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1333 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1339 msgid "Show needed stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1340 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1346 msgid "Show expired stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1347 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1353 msgid "Show stale stock" msgstr "" -#: common/models.py:1350 +#: common/models.py:1354 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1360 msgid "Show pending builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1361 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1367 msgid "Show overdue builds" msgstr "" -#: common/models.py:1364 +#: common/models.py:1368 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1374 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1375 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1381 msgid "Show overdue POs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1382 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1388 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1389 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1391 +#: common/models.py:1395 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1392 +#: common/models.py:1396 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1397 +#: common/models.py:1401 msgid "Enable label printing" msgstr "" -#: common/models.py:1398 +#: common/models.py:1402 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1404 +#: common/models.py:1408 msgid "Inline label display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1409 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1415 msgid "Inline report display" msgstr "" -#: common/models.py:1412 +#: common/models.py:1416 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1418 +#: common/models.py:1422 msgid "Search Parts" msgstr "" -#: common/models.py:1419 +#: common/models.py:1423 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1429 msgid "Search Categories" msgstr "" -#: common/models.py:1426 +#: common/models.py:1430 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1436 msgid "Search Stock" msgstr "" -#: common/models.py:1433 +#: common/models.py:1437 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1443 msgid "Search Locations" msgstr "" -#: common/models.py:1440 +#: common/models.py:1444 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1450 msgid "Search Companies" msgstr "" -#: common/models.py:1447 +#: common/models.py:1451 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1457 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1458 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1464 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1461 +#: common/models.py:1465 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1471 msgid "Search Preview Results" msgstr "" -#: common/models.py:1468 +#: common/models.py:1472 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1478 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1475 +#: common/models.py:1479 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1481 +#: common/models.py:1485 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1482 +#: common/models.py:1486 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1492 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1489 +#: common/models.py:1493 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1495 +#: common/models.py:1499 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1496 +#: common/models.py:1500 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1502 +#: common/models.py:1506 msgid "Date Format" msgstr "" -#: common/models.py:1503 +#: common/models.py:1507 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1521 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1518 +#: common/models.py:1522 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1590 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1583 company/serializers.py:264 +#: common/models.py:1597 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1584 +#: common/models.py:1598 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1755 common/models.py:1892 msgid "Endpoint" msgstr "" -#: common/models.py:1742 +#: common/models.py:1756 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1751 +#: common/models.py:1765 msgid "Name for this webhook" msgstr "" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1770 part/models.py:988 plugin/models.py:49 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2449,67 +2401,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1757 +#: common/models.py:1771 msgid "Is this webhook active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1785 msgid "Token" msgstr "" -#: common/models.py:1772 +#: common/models.py:1786 msgid "Token for access" msgstr "" -#: common/models.py:1779 +#: common/models.py:1793 msgid "Secret" msgstr "" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1847 +#: common/models.py:1859 msgid "Message ID" msgstr "" -#: common/models.py:1848 +#: common/models.py:1860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Host" msgstr "" -#: common/models.py:1857 +#: common/models.py:1869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Header" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Header of this message" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Body" msgstr "" -#: common/models.py:1872 +#: common/models.py:1884 msgid "Body of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1893 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Worked on" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Was the work on this message finished?" msgstr "" @@ -2646,7 +2598,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:612 +#: company/models.py:317 company/models.py:532 stock/models.py:619 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "" @@ -2673,7 +2625,7 @@ msgstr "" #: company/models.py:339 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" @@ -2703,7 +2655,7 @@ msgstr "" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2205 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2732,7 +2684,7 @@ msgstr "" #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2743,7 +2695,7 @@ msgid "Select supplier" msgstr "" #: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" @@ -2780,7 +2732,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: stock/models.py:643 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" @@ -2853,10 +2805,10 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:662 +#: stock/models.py:663 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -3105,7 +3057,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 +#: company/templates/company/supplier_part.html:24 stock/models.py:627 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3372,7 +3324,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" @@ -3429,7 +3381,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "" #: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" @@ -3491,7 +3443,7 @@ msgstr "" #: order/models.py:949 order/models.py:1031 order/models.py:1053 #: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "" @@ -3500,7 +3452,7 @@ msgstr "" #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" @@ -3511,7 +3463,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" @@ -3521,7 +3473,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3876,7 +3828,7 @@ msgstr "" #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3967,7 +3919,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "" @@ -4049,19 +4001,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1045 +#: part/api.py:1037 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1049 +#: part/api.py:1041 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1064 +#: part/api.py:1056 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 msgid "This field is required" msgstr "" @@ -5115,7 +5067,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5496,6 +5448,58 @@ msgstr "" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "Činnost nebyla specifikována" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "Nebyla nalezena odpovídající činnost" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 +msgid "Must provide barcode_data parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:129 +msgid "No match found for barcode data" +msgstr "Pro data čárového kódu nebyla nalezena shoda" + +#: plugin/base/barcodes/api.py:131 +msgid "Match found for barcode data" +msgstr "Pro data čárového kódu byla nalezena shoda" + +#: plugin/base/barcodes/api.py:156 +msgid "Must provide stockitem parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:163 +msgid "No matching stock item found" +msgstr "" + +#: plugin/base/barcodes/api.py:193 +msgid "Barcode already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:197 +msgid "Barcode already matches Stock Location" +msgstr "" + +#: plugin/base/barcodes/api.py:201 +msgid "Barcode already matches Part" +msgstr "" + +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 +msgid "Barcode hash already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:225 +msgid "Barcode associated with Stock Item" +msgstr "" + +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5514,50 +5518,46 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:226 -msgid "Label printing failed" -msgstr "" - -#: plugin/integration.py:146 -msgid "No author found" -msgstr "" - -#: plugin/integration.py:160 -msgid "No date found" -msgstr "" - -#: plugin/models.py:27 +#: plugin/models.py:29 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:30 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:35 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:36 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:44 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:50 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:123 msgid "Plugin" msgstr "" -#: plugin/models.py:176 +#: plugin/models.py:197 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "" @@ -5724,12 +5724,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:667 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "" @@ -5738,19 +5738,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2193 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2199 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "" @@ -5785,12 +5785,12 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:94 stock/models.py:762 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:95 stock/models.py:763 msgid "Select Owner" msgstr "" @@ -5819,203 +5819,203 @@ msgstr "" msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:561 +#: stock/models.py:568 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:604 +#: stock/models.py:611 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:613 +#: stock/models.py:620 msgid "Base part" msgstr "" -#: stock/models.py:621 +#: stock/models.py:628 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:634 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:630 +#: stock/models.py:637 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:637 +#: stock/models.py:644 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:650 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "" -#: stock/models.py:646 +#: stock/models.py:653 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:662 +#: stock/models.py:669 msgid "Serial number for this item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:683 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:681 +#: stock/models.py:688 msgid "Stock Quantity" msgstr "" -#: stock/models.py:690 +#: stock/models.py:697 msgid "Source Build" msgstr "" -#: stock/models.py:692 +#: stock/models.py:699 msgid "Build for this stock item" msgstr "" -#: stock/models.py:703 +#: stock/models.py:710 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:706 +#: stock/models.py:713 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:712 +#: stock/models.py:719 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:725 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:719 +#: stock/models.py:726 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete on deplete" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:749 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:751 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:783 +#: stock/models.py:790 msgid "Converted to part" msgstr "" -#: stock/models.py:1303 +#: stock/models.py:1310 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1309 +#: stock/models.py:1316 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1315 +#: stock/models.py:1322 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1318 +#: stock/models.py:1325 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1328 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1335 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1399 +#: stock/models.py:1406 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1402 +#: stock/models.py:1409 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1405 +#: stock/models.py:1412 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1408 +#: stock/models.py:1415 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1411 +#: stock/models.py:1418 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1414 +#: stock/models.py:1421 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1428 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1429 +#: stock/models.py:1436 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1440 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1605 +#: stock/models.py:1612 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2106 +#: stock/models.py:2113 msgid "Entry notes" msgstr "" -#: stock/models.py:2163 +#: stock/models.py:2170 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2169 +#: stock/models.py:2176 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2187 +#: stock/models.py:2194 msgid "Test name" msgstr "" -#: stock/models.py:2193 +#: stock/models.py:2200 msgid "Test result" msgstr "" -#: stock/models.py:2199 +#: stock/models.py:2206 msgid "Test output value" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2213 msgid "Test result attachment" msgstr "" -#: stock/models.py:2212 +#: stock/models.py:2219 msgid "Test notes" msgstr "" @@ -8094,12 +8094,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "" @@ -8128,11 +8128,11 @@ msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "" @@ -8140,21 +8140,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "" @@ -8166,7 +8166,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8174,11 +8174,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "" @@ -8759,209 +8759,209 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "" diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index cc9d871587..656b960a71 100644 --- a/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/InvenTree/locale/de/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-10 04:16+0000\n" -"PO-Revision-Date: 2022-05-11 00:29\n" +"POT-Creation-Date: 2022-05-15 23:30+0000\n" +"PO-Revision-Date: 2022-05-16 01:10\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -17,18 +17,10 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:53 msgid "API endpoint not found" msgstr "API-Endpunkt nicht gefunden" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "Keine Aktion angegeben" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "Keine passende Aktion gefunden" - #: InvenTree/fields.py:100 msgid "Enter date" msgstr "Datum eingeben" @@ -94,7 +86,7 @@ msgstr "Keine Seriennummer angegeben" #: InvenTree/helpers.py:491 #, python-brace-format msgid "Invalid group range: {g}" -msgstr "" +msgstr "Ungültiger Gruppenbereich: {g}" #: InvenTree/helpers.py:494 #, python-brace-format @@ -104,7 +96,7 @@ msgstr "Ungültige Gruppe: {g}" #: InvenTree/helpers.py:522 #, python-brace-format msgid "Invalid group sequence: {g}" -msgstr "" +msgstr "Ungültige Gruppensequenz: {g}" #: InvenTree/helpers.py:530 #, python-brace-format @@ -118,7 +110,7 @@ msgstr "Keine Seriennummern gefunden" #: InvenTree/helpers.py:540 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" -msgstr "" +msgstr "Anzahl der eindeutigen Seriennummern ({s}) muss mit der Anzahl ({q}) übereinstimmen" #: InvenTree/models.py:185 msgid "Missing file" @@ -128,7 +120,7 @@ msgstr "Fehlende Datei" msgid "Missing external link" msgstr "Fehlender externer Link" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2212 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "Anhang" @@ -143,10 +135,10 @@ msgstr "Datei zum Anhängen auswählen" #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" -msgstr "" +msgstr "Link" #: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: stock/models.py:677 msgid "Link to external URL" msgstr "Link zu einer externen URL" @@ -158,10 +150,10 @@ msgstr "Kommentar" msgid "File comment" msgstr "Datei-Kommentar" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 +#: common/models.py:1547 common/models.py:1778 common/models.py:1779 +#: common/models.py:2006 common/models.py:2007 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -200,9 +192,9 @@ msgstr "Fehler beim Umbenennen" msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 #: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: part/models.py:2555 plugin/models.py:43 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -213,7 +205,7 @@ msgstr "Ungültige Auswahl" #: templates/js/translated/part.js:767 templates/js/translated/part.js:1736 #: templates/js/translated/stock.js:2288 msgid "Name" -msgstr "" +msgstr "Name" #: InvenTree/models.py:349 build/models.py:209 #: build/templates/build/detail.html:24 company/models.py:351 @@ -230,8 +222,8 @@ msgstr "" #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -303,7 +295,7 @@ msgstr "Doppelte Spalte: '{col}'" #: InvenTree/settings.py:672 msgid "Czech" -msgstr "" +msgstr "Tschechisch" #: InvenTree/settings.py:673 msgid "German" @@ -367,11 +359,11 @@ msgstr "Polnisch" #: InvenTree/settings.py:688 msgid "Portuguese" -msgstr "" +msgstr "Portugiesisch" #: InvenTree/settings.py:689 msgid "Portuguese (Brazilian)" -msgstr "" +msgstr "Portugiesisch (Brasilien)" #: InvenTree/settings.py:690 msgid "Russian" @@ -440,13 +432,13 @@ msgid "Returned" msgstr "Zurückgegeben" #: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "Versendet" #: InvenTree/status_codes.py:183 msgid "OK" -msgstr "" +msgstr "OK" #: InvenTree/status_codes.py:184 msgid "Attention needed" @@ -616,46 +608,6 @@ msgstr "Passwörter stimmen nicht überein" msgid "System Information" msgstr "Systeminformationen" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "barcode_data Parameter angeben" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "Keine Treffer für Barcode" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "Treffer für Barcode gefunden" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "Lagerartikel-Parameter muss angegeben werden" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "Keine passende Lagerartikel gefunden" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "Barcode entspricht bereits einem Lagerartikel" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "Barcode entspricht bereits Lagerort" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "Barcode entspricht bereits Teil" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "Barcode-Hash entspricht bereits einem Lagerartikel" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "Barcode Lagerartikel zugeordnet" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "Ungültige Wahl für übergeordneten Bauauftrag" @@ -687,8 +639,8 @@ msgstr "Bauauftragsreferenz" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 +#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 msgid "Reference" msgstr "Referenz" @@ -727,8 +679,8 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -750,7 +702,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "Quell-Lagerort" @@ -791,7 +743,7 @@ msgid "Build status code" msgstr "Bau-Statuscode" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: stock/models.py:681 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "Losnummer" @@ -800,7 +752,7 @@ msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" #: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "Erstelldatum" @@ -834,7 +786,7 @@ msgstr "Nutzer der diesen Bauauftrag erstellt hat" #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "Verantwortlicher Benutzer" @@ -845,7 +797,7 @@ msgstr "Nutzer der für diesen Bauauftrag zuständig ist" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 +#: part/templates/part/part_base.html:346 stock/models.py:675 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "Externer Link" @@ -858,14 +810,14 @@ msgstr "Externer Link" #: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 +#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "Notizen" @@ -893,7 +845,7 @@ msgstr "Bauauftragsposition muss ein Endprodukt festlegen, da der übergeordnete #: build/models.py:1223 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "" +msgstr "Zugewiesene Menge ({q}) darf nicht verfügbare Menge ({a}) übersteigen" #: build/models.py:1233 msgid "Stock item is over-allocated" @@ -928,9 +880,9 @@ msgstr "Bauauftrag starten um Teile zuzuweisen" #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" @@ -942,7 +894,7 @@ msgstr "Quell-Lagerartikel" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 +#: build/templates/build/detail.html:34 common/models.py:1589 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 @@ -964,10 +916,10 @@ msgstr "Quell-Lagerartikel" #: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -1015,7 +967,7 @@ msgstr "Menge der Endprodukte angeben" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" @@ -1060,8 +1012,8 @@ msgstr "Eine Liste von Endprodukten muss angegeben werden" #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 @@ -1076,35 +1028,35 @@ msgstr "Lagerort für fertige Endprodukte" #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" -msgstr "" +msgstr "Status" #: build/serializers.py:389 msgid "Accept Incomplete Allocation" -msgstr "" +msgstr "Unvollständige Zuweisung akzeptieren" #: build/serializers.py:390 msgid "Complete outputs if stock has not been fully allocated" -msgstr "" +msgstr "Endprodukte fertigstellen, auch wenn Bestand nicht fertig zugewiesen wurde" #: build/serializers.py:460 msgid "Remove Allocated Stock" -msgstr "" +msgstr "Zugewiesenen Bestand entfernen" #: build/serializers.py:461 msgid "Subtract any stock which has already been allocated to this build" -msgstr "" +msgstr "Abzug aller Lagerbestände, die diesem Build bereits zugewiesen wurden" #: build/serializers.py:467 msgid "Remove Incomplete Outputs" -msgstr "" +msgstr "Unfertige Endprodukte entfernen" #: build/serializers.py:468 msgid "Delete any build outputs which have not been completed" -msgstr "" +msgstr "Lösche alle noch nicht abgeschlossenen Endprodukte" #: build/serializers.py:493 msgid "Accept Unallocated" @@ -1174,7 +1126,7 @@ msgstr "Endprodukt kann bei Zuweisung nicht-verfolgter Teile nicht angegeben wer #: build/serializers.py:716 msgid "This stock item has already been allocated to this build output" -msgstr "" +msgstr "Dieser Lagerbestand wurde bereits diesem Endprodukt zugewiesen" #: build/serializers.py:743 order/serializers.py:1274 msgid "Allocation items must be provided" @@ -1278,9 +1230,9 @@ msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen" #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "Zieldatum" @@ -1314,7 +1266,7 @@ msgstr "Fertig" #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "Auftrag" @@ -1350,7 +1302,7 @@ 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:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "Ziel-Lager" @@ -1491,11 +1443,11 @@ msgstr "Label drucken" #: build/templates/build/detail.html:274 msgid "Expand all build output rows" -msgstr "" +msgstr "Alle Endprodukt-Ausgabezeilen erweitern" #: build/templates/build/detail.html:278 msgid "Collapse all build output rows" -msgstr "" +msgstr "Alle Endprodukt-Ausgabezeilen einklappen" #: build/templates/build/detail.html:295 msgid "Completed Build Outputs" @@ -1592,856 +1544,856 @@ msgstr "{name.title()} Datei" msgid "Select {name} file to upload" msgstr "{name} Datei zum Hochladen auswählen" -#: common/models.py:387 +#: common/models.py:401 msgid "Settings key (must be unique - case insensitive)" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:389 +#: common/models.py:403 msgid "Settings value" msgstr "Einstellungs-Wert" -#: common/models.py:430 +#: common/models.py:444 msgid "Chosen value is not a valid option" msgstr "Wert ist keine gültige Option" -#: common/models.py:450 +#: common/models.py:464 msgid "Value must be a boolean value" msgstr "Wahrheitswert erforderlich" -#: common/models.py:461 +#: common/models.py:475 msgid "Value must be an integer value" msgstr "Nur Ganzzahl eingeben" -#: common/models.py:510 +#: common/models.py:524 msgid "Key string must be unique" msgstr "Schlüsseltext muss eindeutig sein" -#: common/models.py:742 +#: common/models.py:746 msgid "No group" msgstr "Keine Gruppe" -#: common/models.py:784 +#: common/models.py:788 msgid "Restart required" msgstr "Neustart erforderlich" -#: common/models.py:785 +#: common/models.py:789 msgid "A setting has been changed which requires a server restart" msgstr "Eine Einstellung wurde geändert, die einen Neustart des Servers erfordert" -#: common/models.py:792 +#: common/models.py:796 msgid "Server Instance Name" -msgstr "" +msgstr "Name der Serverinstanz" -#: common/models.py:794 +#: common/models.py:798 msgid "String descriptor for the server instance" msgstr "Kurze Beschreibung der Instanz" -#: common/models.py:798 +#: common/models.py:802 msgid "Use instance name" msgstr "Name der Instanz verwenden" -#: common/models.py:799 +#: common/models.py:803 msgid "Use the instance name in the title-bar" msgstr "Den Namen der Instanz in der Titelleiste verwenden" -#: common/models.py:805 +#: common/models.py:809 msgid "Restrict showing `about`" -msgstr "" +msgstr "Anzeige von `Über` einschränken" -#: common/models.py:806 +#: common/models.py:810 msgid "Show the `about` modal only to superusers" -msgstr "" +msgstr "Zeige das `Über` Fenster nur Administratoren" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:816 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "Firmenname" -#: common/models.py:813 +#: common/models.py:817 msgid "Internal company name" msgstr "interner Firmenname" -#: common/models.py:818 +#: common/models.py:822 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:819 +#: common/models.py:823 msgid "Base URL for server instance" msgstr "Basis-URL für dieses Instanz" -#: common/models.py:825 +#: common/models.py:829 msgid "Default Currency" msgstr "Standardwährung" -#: common/models.py:826 +#: common/models.py:830 msgid "Default currency" msgstr "Standardwährung" -#: common/models.py:832 +#: common/models.py:836 msgid "Download from URL" msgstr "Von URL herunterladen" -#: common/models.py:833 +#: common/models.py:837 msgid "Allow download of remote images and files from external URL" msgstr "Herunterladen von externen Bildern und Dateien von URLs erlaubt" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Bacode-Feature verwenden" -#: common/models.py:840 +#: common/models.py:844 msgid "Enable barcode scanner support" msgstr "Barcode-Scanner Unterstützung" -#: common/models.py:846 +#: common/models.py:850 msgid "Barcode Webcam Support" -msgstr "" +msgstr "Barcode Webcam-Unterstützung" -#: common/models.py:847 +#: common/models.py:851 msgid "Allow barcode scanning via webcam in browser" -msgstr "" +msgstr "Barcode-Scannen über Webcam im Browser erlauben" -#: common/models.py:853 +#: common/models.py:857 msgid "IPN Regex" -msgstr "" +msgstr "IPN Regex" -#: common/models.py:854 +#: common/models.py:858 msgid "Regular expression pattern for matching Part IPN" msgstr "RegEx Muster für die Zuordnung von Teil-IPN" -#: common/models.py:858 +#: common/models.py:862 msgid "Allow Duplicate IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:859 +#: common/models.py:863 msgid "Allow multiple parts to share the same IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:865 +#: common/models.py:869 msgid "Allow Editing IPN" msgstr "Ändern von IPN erlaubt" -#: common/models.py:866 +#: common/models.py:870 msgid "Allow changing the IPN value while editing a part" msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt" -#: common/models.py:872 +#: common/models.py:876 msgid "Copy Part BOM Data" msgstr "Teil-Stückliste kopieren" -#: common/models.py:873 +#: common/models.py:877 msgid "Copy BOM data by default when duplicating a part" msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird " -#: common/models.py:879 +#: common/models.py:883 msgid "Copy Part Parameter Data" msgstr "Teil-Parameter kopieren" -#: common/models.py:880 +#: common/models.py:884 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:886 +#: common/models.py:890 msgid "Copy Part Test Data" msgstr "Teil-Testdaten kopieren" -#: common/models.py:887 +#: common/models.py:891 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:893 +#: common/models.py:897 msgid "Copy Category Parameter Templates" msgstr "Kategorie-Parametervorlage kopieren" -#: common/models.py:894 +#: common/models.py:898 msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:904 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Vorlage" -#: common/models.py:901 +#: common/models.py:905 msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Baugruppe" -#: common/models.py:908 +#: common/models.py:912 msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:914 part/models.py:967 +#: common/models.py:918 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Komponente" -#: common/models.py:915 +#: common/models.py:919 msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/models.py:921 part/models.py:978 +#: common/models.py:925 part/models.py:978 msgid "Purchaseable" msgstr "Kaufbar" -#: common/models.py:922 +#: common/models.py:926 msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:928 part/models.py:983 +#: common/models.py:932 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Verkäuflich" -#: common/models.py:929 +#: common/models.py:933 msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:935 part/models.py:973 +#: common/models.py:939 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Nachverfolgbar" -#: common/models.py:936 +#: common/models.py:940 msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:942 part/models.py:993 +#: common/models.py:946 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuell" -#: common/models.py:943 +#: common/models.py:947 msgid "Parts are virtual by default" msgstr "Teile sind grundsätzlich virtuell" -#: common/models.py:949 +#: common/models.py:953 msgid "Show Import in Views" msgstr "Import in Ansichten anzeigen" -#: common/models.py:950 +#: common/models.py:954 msgid "Display the import wizard in some part views" msgstr "Importassistent in einigen Teil-Ansichten anzeigen" -#: common/models.py:956 +#: common/models.py:960 msgid "Show Price in Forms" msgstr "Preis in Formularen anzeigen" -#: common/models.py:957 +#: common/models.py:961 msgid "Display part price in some forms" msgstr "Teilpreis in einigen Formularen anzeigen" -#: common/models.py:968 +#: common/models.py:972 msgid "Show Price in BOM" msgstr "Preis in Stückliste anzeigen" -#: common/models.py:969 +#: common/models.py:973 msgid "Include pricing information in BOM tables" msgstr "Preisinformationen in Stücklisten Tabellen einbeziehen" -#: common/models.py:980 +#: common/models.py:984 msgid "Show Price History" msgstr "Preisverlauf anzeigen" -#: common/models.py:981 +#: common/models.py:985 msgid "Display historical pricing for Part" msgstr "Historische Preise für Teil anzeigen" -#: common/models.py:987 +#: common/models.py:991 msgid "Show related parts" msgstr "Verwandte Teile anzeigen" -#: common/models.py:988 +#: common/models.py:992 msgid "Display related parts for a part" msgstr "Verwandte Teile eines Teils anzeigen" -#: common/models.py:994 +#: common/models.py:998 msgid "Create initial stock" msgstr "Ausgangsbestand erstellen" -#: common/models.py:995 +#: common/models.py:999 msgid "Create initial stock on part creation" msgstr "Ausgangsbestand beim Erstellen von Teilen erstellen" -#: common/models.py:1001 +#: common/models.py:1005 msgid "Internal Prices" msgstr "Interne Preise" -#: common/models.py:1002 +#: common/models.py:1006 msgid "Enable internal prices for parts" msgstr "Interne Preise für Teile aktivieren" -#: common/models.py:1008 +#: common/models.py:1012 msgid "Internal Price as BOM-Price" msgstr "Interner Preis als Stückliste-Preis" -#: common/models.py:1009 +#: common/models.py:1013 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "Interner Preis (falls vorhanden) in Stücklisten-Preisberechnungen verwenden" -#: common/models.py:1015 +#: common/models.py:1019 msgid "Part Name Display Format" msgstr "Anzeigeformat für Teilenamen" -#: common/models.py:1016 +#: common/models.py:1020 msgid "Format to display the part name" msgstr "Format für den Namen eines Teiles" -#: common/models.py:1023 +#: common/models.py:1027 msgid "Enable Reports" msgstr "Berichte aktivieren" -#: common/models.py:1024 +#: common/models.py:1028 msgid "Enable generation of reports" msgstr "Berichterstellung aktivieren" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1034 templates/stats.html:25 msgid "Debug Mode" msgstr "Entwickler-Modus" -#: common/models.py:1031 +#: common/models.py:1035 msgid "Generate reports in debug mode (HTML output)" msgstr "Berichte im Entwickler-Modus generieren (als HTML)" -#: common/models.py:1037 +#: common/models.py:1041 msgid "Page Size" msgstr "Seitengröße" -#: common/models.py:1038 +#: common/models.py:1042 msgid "Default page size for PDF reports" msgstr "Standardseitenformat für PDF-Bericht" -#: common/models.py:1048 +#: common/models.py:1052 msgid "Test Reports" msgstr "Test-Berichte" -#: common/models.py:1049 +#: common/models.py:1053 msgid "Enable generation of test reports" msgstr "Erstellung von Test-Berichten aktivieren" -#: common/models.py:1055 +#: common/models.py:1059 msgid "Batch Code Template" -msgstr "" +msgstr "Losnummer Vorlage" -#: common/models.py:1056 +#: common/models.py:1060 msgid "Template for generating default batch codes for stock items" -msgstr "" +msgstr "Vorlage für die Generierung von Standard-Losnummern für Lagerbestände" -#: common/models.py:1061 +#: common/models.py:1065 msgid "Stock Expiry" msgstr "Bestands-Ablauf" -#: common/models.py:1062 +#: common/models.py:1066 msgid "Enable stock expiry functionality" msgstr "Ablaufen von Bestand ermöglichen" -#: common/models.py:1068 +#: common/models.py:1072 msgid "Sell Expired Stock" msgstr "Abgelaufenen Bestand verkaufen" -#: common/models.py:1069 +#: common/models.py:1073 msgid "Allow sale of expired stock" msgstr "Verkauf von abgelaufenem Bestand erlaubt" -#: common/models.py:1075 +#: common/models.py:1079 msgid "Stock Stale Time" msgstr "Bestands-Stehzeit" -#: common/models.py:1076 +#: common/models.py:1080 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:1078 +#: common/models.py:1082 msgid "days" msgstr "Tage" -#: common/models.py:1083 +#: common/models.py:1087 msgid "Build Expired Stock" msgstr "Abgelaufenen Bestand verbauen" -#: common/models.py:1084 +#: common/models.py:1088 msgid "Allow building with expired stock" msgstr "Verbauen von abgelaufenen Bestand erlaubt" -#: common/models.py:1090 +#: common/models.py:1094 msgid "Stock Ownership Control" msgstr "Bestands-Eigentümerkontrolle" -#: common/models.py:1091 +#: common/models.py:1095 msgid "Enable ownership control over stock locations and items" msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren" -#: common/models.py:1097 +#: common/models.py:1101 msgid "Build Order Reference Prefix" msgstr "Bauauftrag-Referenz Präfix" -#: common/models.py:1098 +#: common/models.py:1102 msgid "Prefix value for build order reference" msgstr "Präfix für Bauauftrag-Referenz" -#: common/models.py:1103 +#: common/models.py:1107 msgid "Build Order Reference Regex" msgstr "Bauauftrag-Referenz RegEx" -#: common/models.py:1104 +#: common/models.py:1108 msgid "Regular expression pattern for matching build order reference" msgstr "RegEx Muster für die Zuordnung von Bauauftrag-Referenzen" -#: common/models.py:1108 +#: common/models.py:1112 msgid "Sales Order Reference Prefix" msgstr "Auftrags-Referenz Präfix" -#: common/models.py:1109 +#: common/models.py:1113 msgid "Prefix value for sales order reference" msgstr "Präfix für Auftrags-Referenz" -#: common/models.py:1114 +#: common/models.py:1118 msgid "Purchase Order Reference Prefix" msgstr "Bestellungs-Referenz Präfix" -#: common/models.py:1115 +#: common/models.py:1119 msgid "Prefix value for purchase order reference" msgstr "Präfix für Bestellungs-Referenz" -#: common/models.py:1121 +#: common/models.py:1125 msgid "Enable password forgot" msgstr "Passwort vergessen aktivieren" -#: common/models.py:1122 +#: common/models.py:1126 msgid "Enable password forgot function on the login pages" msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren" -#: common/models.py:1128 +#: common/models.py:1132 msgid "Enable registration" msgstr "Anmeldung erlauben" -#: common/models.py:1129 +#: common/models.py:1133 msgid "Enable self-registration for users on the login pages" msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1135 +#: common/models.py:1139 msgid "Enable SSO" msgstr "SSO aktivieren" -#: common/models.py:1136 +#: common/models.py:1140 msgid "Enable SSO on the login pages" msgstr "SSO auf den Anmeldeseiten aktivieren" -#: common/models.py:1142 +#: common/models.py:1146 msgid "Email required" msgstr "Email-Adresse erforderlich" -#: common/models.py:1143 +#: common/models.py:1147 msgid "Require user to supply mail on signup" msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben" -#: common/models.py:1149 +#: common/models.py:1153 msgid "Auto-fill SSO users" msgstr "SSO-Benutzer automatisch ausfüllen" -#: common/models.py:1150 +#: common/models.py:1154 msgid "Automatically fill out user-details from SSO account-data" msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen" -#: common/models.py:1156 +#: common/models.py:1160 msgid "Mail twice" msgstr "E-Mail zweimal" -#: common/models.py:1157 +#: common/models.py:1161 msgid "On signup ask users twice for their mail" msgstr "Bei der Registrierung den Benutzer zweimal nach der E-Mail-Adresse fragen" -#: common/models.py:1163 +#: common/models.py:1167 msgid "Password twice" msgstr "Passwort zweimal" -#: common/models.py:1164 +#: common/models.py:1168 msgid "On signup ask users twice for their password" msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen" -#: common/models.py:1170 +#: common/models.py:1174 msgid "Group on signup" msgstr "Gruppe bei Registrierung" -#: common/models.py:1171 +#: common/models.py:1175 msgid "Group to which new users are assigned on registration" msgstr "Gruppe der neue Benutzer bei der Registrierung zugewiesen werden" -#: common/models.py:1177 +#: common/models.py:1181 msgid "Enforce MFA" msgstr "MFA erzwingen" -#: common/models.py:1178 +#: common/models.py:1182 msgid "Users must use multifactor security." msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden." -#: common/models.py:1184 +#: common/models.py:1188 msgid "Check plugins on startup" msgstr "Plugins beim Start prüfen" -#: common/models.py:1185 +#: common/models.py:1189 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "Beim Start überprüfen, ob alle Plugins installiert sind - Für Container aktivieren" -#: common/models.py:1193 +#: common/models.py:1197 msgid "Enable URL integration" msgstr "URL-Integration aktivieren" -#: common/models.py:1194 +#: common/models.py:1198 msgid "Enable plugins to add URL routes" msgstr "Plugins zum Hinzufügen von URLs aktivieren" -#: common/models.py:1201 +#: common/models.py:1205 msgid "Enable navigation integration" msgstr "Navigations-Integration aktivieren" -#: common/models.py:1202 +#: common/models.py:1206 msgid "Enable plugins to integrate into navigation" msgstr "Plugins zur Integration in die Navigation aktivieren" -#: common/models.py:1209 +#: common/models.py:1213 msgid "Enable app integration" msgstr "App-Integration aktivieren" -#: common/models.py:1210 +#: common/models.py:1214 msgid "Enable plugins to add apps" msgstr "Plugins zum Hinzufügen von Apps aktivieren" -#: common/models.py:1217 +#: common/models.py:1221 msgid "Enable schedule integration" msgstr "Terminplan-Integration aktivieren" -#: common/models.py:1218 +#: common/models.py:1222 msgid "Enable plugins to run scheduled tasks" msgstr "Geplante Aufgaben aktivieren" -#: common/models.py:1225 +#: common/models.py:1229 msgid "Enable event integration" msgstr "Ereignis-Integration aktivieren" -#: common/models.py:1226 +#: common/models.py:1230 msgid "Enable plugins to respond to internal events" msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1245 common/models.py:1539 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:1272 +#: common/models.py:1276 msgid "Show subscribed parts" msgstr "Abonnierte Teile anzeigen" -#: common/models.py:1273 +#: common/models.py:1277 msgid "Show subscribed parts on the homepage" msgstr "Zeige abonnierte Teile auf der Startseite" -#: common/models.py:1279 +#: common/models.py:1283 msgid "Show subscribed categories" msgstr "Abonnierte Kategorien anzeigen" -#: common/models.py:1280 +#: common/models.py:1284 msgid "Show subscribed part categories on the homepage" msgstr "Zeige abonnierte Teilkategorien auf der Startseite" -#: common/models.py:1286 +#: common/models.py:1290 msgid "Show latest parts" msgstr "Neueste Teile anzeigen" -#: common/models.py:1287 +#: common/models.py:1291 msgid "Show latest parts on the homepage" msgstr "Zeige neueste Teile auf der Startseite" -#: common/models.py:1293 +#: common/models.py:1297 msgid "Recent Part Count" msgstr "Aktuelle Teile-Stände" -#: common/models.py:1294 +#: common/models.py:1298 msgid "Number of recent parts to display on index page" msgstr "Anzahl der neusten Teile auf der Startseite" -#: common/models.py:1300 +#: common/models.py:1304 msgid "Show unvalidated BOMs" msgstr "Nicht validierte Stücklisten anzeigen" -#: common/models.py:1301 +#: common/models.py:1305 msgid "Show BOMs that await validation on the homepage" msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite" -#: common/models.py:1307 +#: common/models.py:1311 msgid "Show recent stock changes" msgstr "Neueste Bestandänderungen anzeigen" -#: common/models.py:1308 +#: common/models.py:1312 msgid "Show recently changed stock items on the homepage" msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite" -#: common/models.py:1314 +#: common/models.py:1318 msgid "Recent Stock Count" msgstr "aktueller Bestand" -#: common/models.py:1315 +#: common/models.py:1319 msgid "Number of recent stock items to display on index page" msgstr "Anzahl des geänderten Bestands auf der Startseite" -#: common/models.py:1321 +#: common/models.py:1325 msgid "Show low stock" msgstr "Niedrigen Bestand anzeigen" -#: common/models.py:1322 +#: common/models.py:1326 msgid "Show low stock items on the homepage" msgstr "Zeige geringen Bestand auf der Startseite" -#: common/models.py:1328 +#: common/models.py:1332 msgid "Show depleted stock" msgstr "Lerren Bestand anzeigen" -#: common/models.py:1329 +#: common/models.py:1333 msgid "Show depleted stock items on the homepage" msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite" -#: common/models.py:1335 +#: common/models.py:1339 msgid "Show needed stock" msgstr "Benötigten Bestand anzeigen" -#: common/models.py:1336 +#: common/models.py:1340 msgid "Show stock items needed for builds on the homepage" msgstr "Zeige Bestand für Bauaufträge auf der Startseite" -#: common/models.py:1342 +#: common/models.py:1346 msgid "Show expired stock" msgstr "Abgelaufenen Bestand anzeigen" -#: common/models.py:1343 +#: common/models.py:1347 msgid "Show expired stock items on the homepage" msgstr "Zeige abgelaufene Lagerbestände auf der Startseite" -#: common/models.py:1349 +#: common/models.py:1353 msgid "Show stale stock" msgstr "Alten Bestand anzeigen" -#: common/models.py:1350 +#: common/models.py:1354 msgid "Show stale stock items on the homepage" msgstr "Zeige überfällige Lagerartikel auf der Startseite" -#: common/models.py:1356 +#: common/models.py:1360 msgid "Show pending builds" msgstr "Ausstehende Bauaufträge anzeigen" -#: common/models.py:1357 +#: common/models.py:1361 msgid "Show pending builds on the homepage" msgstr "Zeige ausstehende Bauaufträge auf der Startseite" -#: common/models.py:1363 +#: common/models.py:1367 msgid "Show overdue builds" msgstr "Zeige überfällige Bauaufträge" -#: common/models.py:1364 +#: common/models.py:1368 msgid "Show overdue builds on the homepage" msgstr "Zeige überfällige Bauaufträge auf der Startseite" -#: common/models.py:1370 +#: common/models.py:1374 msgid "Show outstanding POs" msgstr "Ausstehende POs anzeigen" -#: common/models.py:1371 +#: common/models.py:1375 msgid "Show outstanding POs on the homepage" msgstr "Zeige ausstehende POs auf der Startseite" -#: common/models.py:1377 +#: common/models.py:1381 msgid "Show overdue POs" msgstr "Überfällige POs anzeigen" -#: common/models.py:1378 +#: common/models.py:1382 msgid "Show overdue POs on the homepage" msgstr "Zeige überfällige POs auf der Startseite" -#: common/models.py:1384 +#: common/models.py:1388 msgid "Show outstanding SOs" msgstr "Ausstehende SOs anzeigen" -#: common/models.py:1385 +#: common/models.py:1389 msgid "Show outstanding SOs on the homepage" msgstr "Zeige ausstehende SOs auf der Startseite" -#: common/models.py:1391 +#: common/models.py:1395 msgid "Show overdue SOs" msgstr "Überfällige SOs anzeigen" -#: common/models.py:1392 +#: common/models.py:1396 msgid "Show overdue SOs on the homepage" msgstr "Zeige überfällige SOs auf der Startseite" -#: common/models.py:1397 +#: common/models.py:1401 msgid "Enable label printing" msgstr "Labeldruck aktivieren" -#: common/models.py:1398 +#: common/models.py:1402 msgid "Enable label printing from the web interface" msgstr "Labeldruck über die Website aktivieren" -#: common/models.py:1404 +#: common/models.py:1408 msgid "Inline label display" msgstr "Label inline anzeigen" -#: common/models.py:1405 +#: common/models.py:1409 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:1411 +#: common/models.py:1415 msgid "Inline report display" msgstr "Berichte inline anzeigen" -#: common/models.py:1412 +#: common/models.py:1416 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:1418 +#: common/models.py:1422 msgid "Search Parts" msgstr "Teile suchen" -#: common/models.py:1419 +#: common/models.py:1423 msgid "Display parts in search preview window" msgstr "Teile in der Suchvorschau anzeigen" -#: common/models.py:1425 +#: common/models.py:1429 msgid "Search Categories" msgstr "Kategorien durchsuchen" -#: common/models.py:1426 +#: common/models.py:1430 msgid "Display part categories in search preview window" msgstr "Teilekategorien in der Suchvorschau anzeigen" -#: common/models.py:1432 +#: common/models.py:1436 msgid "Search Stock" msgstr "Bestand durchsuchen" -#: common/models.py:1433 +#: common/models.py:1437 msgid "Display stock items in search preview window" msgstr "Lagerartikel in Suchvorschau anzeigen" -#: common/models.py:1439 +#: common/models.py:1443 msgid "Search Locations" msgstr "Lagerorte durchsuchen" -#: common/models.py:1440 +#: common/models.py:1444 msgid "Display stock locations in search preview window" msgstr "Lagerorte in Suchvorschau anzeigen" -#: common/models.py:1446 +#: common/models.py:1450 msgid "Search Companies" msgstr "Firmen durchsuchen" -#: common/models.py:1447 +#: common/models.py:1451 msgid "Display companies in search preview window" msgstr "Firmen in der Suchvorschau anzeigen" -#: common/models.py:1453 +#: common/models.py:1457 msgid "Search Purchase Orders" msgstr "Bestellungen durchsuchen" -#: common/models.py:1454 +#: common/models.py:1458 msgid "Display purchase orders in search preview window" msgstr "Bestellungen in der Suchvorschau anzeigen" -#: common/models.py:1460 +#: common/models.py:1464 msgid "Search Sales Orders" msgstr "Aufträge durchsuchen" -#: common/models.py:1461 +#: common/models.py:1465 msgid "Display sales orders in search preview window" msgstr "Aufträge in der Suchvorschau anzeigen" -#: common/models.py:1467 +#: common/models.py:1471 msgid "Search Preview Results" msgstr "Anzahl Suchergebnisse" -#: common/models.py:1468 +#: common/models.py:1472 msgid "Number of results to show in each section of the search preview window" msgstr "Anzahl der Ergebnisse, die in der Vorschau pro Sektion angezeigt werden sollen" -#: common/models.py:1474 +#: common/models.py:1478 msgid "Hide Inactive Parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:1475 +#: common/models.py:1479 msgid "Hide inactive parts in search preview window" msgstr "Inaktive Teile in der Suchvorschau ausblenden" -#: common/models.py:1481 +#: common/models.py:1485 msgid "Show Quantity in Forms" msgstr "zeige Bestand in Eingabemasken" -#: common/models.py:1482 +#: common/models.py:1486 msgid "Display available part quantity in some forms" msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" -#: common/models.py:1488 +#: common/models.py:1492 msgid "Escape Key Closes Forms" msgstr "Esc-Taste schließt Formulare" -#: common/models.py:1489 +#: common/models.py:1493 msgid "Use the escape key to close modal forms" msgstr "Benutze die Esc-Taste, um Formulare zu schließen" -#: common/models.py:1495 +#: common/models.py:1499 msgid "Fixed Navbar" msgstr "Fixierter Navigationsleiste" -#: common/models.py:1496 +#: common/models.py:1500 msgid "The navbar position is fixed to the top of the screen" -msgstr "" +msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren" -#: common/models.py:1502 +#: common/models.py:1506 msgid "Date Format" msgstr "Datumsformat" -#: common/models.py:1503 +#: common/models.py:1507 msgid "Preferred format for displaying dates" msgstr "Bevorzugtes Format für die Anzeige von Daten" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1521 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "Teilzeitplanung" -#: common/models.py:1518 +#: common/models.py:1522 msgid "Display part scheduling information" msgstr "Zeige Zeitplanung für Teile" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1590 company/forms.py:43 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:1583 company/serializers.py:264 +#: common/models.py:1597 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "Preis" -#: common/models.py:1584 +#: common/models.py:1598 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1755 common/models.py:1892 msgid "Endpoint" msgstr "Endpunkt" -#: common/models.py:1742 +#: common/models.py:1756 msgid "Endpoint at which this webhook is received" msgstr "Endpunkt, an dem dieser Webhook empfangen wird" -#: common/models.py:1751 +#: common/models.py:1765 msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1770 part/models.py:988 plugin/models.py:49 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2449,67 +2401,67 @@ msgstr "Name für diesen Webhook" msgid "Active" msgstr "Aktiv" -#: common/models.py:1757 +#: common/models.py:1771 msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:1771 +#: common/models.py:1785 msgid "Token" -msgstr "" +msgstr "Token" -#: common/models.py:1772 +#: common/models.py:1786 msgid "Token for access" msgstr "Token für Zugang" -#: common/models.py:1779 +#: common/models.py:1793 msgid "Secret" -msgstr "" +msgstr "Geheimnis" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Shared secret for HMAC" msgstr "Shared Secret für HMAC" -#: common/models.py:1847 +#: common/models.py:1859 msgid "Message ID" msgstr "Nachrichten-ID" -#: common/models.py:1848 +#: common/models.py:1860 msgid "Unique identifier for this message" msgstr "Eindeutige Kennung für diese Nachricht" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Host" -msgstr "" +msgstr "Host" -#: common/models.py:1857 +#: common/models.py:1869 msgid "Host from which this message was received" msgstr "Host von dem diese Nachricht empfangen wurde" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Header" -msgstr "" +msgstr "Kopfzeile" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Header of this message" msgstr "Header dieser Nachricht" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Body" -msgstr "" +msgstr "Body" -#: common/models.py:1872 +#: common/models.py:1884 msgid "Body of this message" msgstr "Body dieser Nachricht" -#: common/models.py:1881 +#: common/models.py:1893 msgid "Endpoint on which this message was received" msgstr "Endpunkt, über den diese Nachricht empfangen wurde" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Worked on" msgstr "Bearbeitet" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Was the work on this message finished?" msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?" @@ -2547,7 +2499,7 @@ msgstr "Vorheriger Schritt" #: company/forms.py:24 part/forms.py:46 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" -msgstr "" +msgstr "URL" #: company/forms.py:25 part/forms.py:47 msgid "Image URL" @@ -2565,7 +2517,7 @@ msgstr "Firmenbeschreibung" #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" -msgstr "" +msgstr "Website" #: company/models.py:113 msgid "Company website URL" @@ -2590,7 +2542,7 @@ msgstr "Kontakt-Telefon" #: company/models.py:125 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" -msgstr "" +msgstr "Email" #: company/models.py:125 msgid "Contact email address" @@ -2646,7 +2598,7 @@ msgstr "Währung" msgid "Default currency used for this company" msgstr "Standard-Währung für diese Firma" -#: company/models.py:317 company/models.py:532 stock/models.py:612 +#: company/models.py:317 company/models.py:532 stock/models.py:619 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "Basisteil" @@ -2673,10 +2625,10 @@ msgstr "Hersteller auswählen" #: company/models.py:339 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" -msgstr "" +msgstr "MPN" #: company/models.py:340 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" @@ -2703,7 +2655,7 @@ msgstr "Parametername" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2205 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "Wert" @@ -2732,7 +2684,7 @@ msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2743,7 +2695,7 @@ msgid "Select supplier" msgstr "Zulieferer auswählen" #: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "SKU (Lagerbestandseinheit)" @@ -2780,7 +2732,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: stock/models.py:643 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "Verpackungen" @@ -2853,10 +2805,10 @@ msgid "Download image from URL" msgstr "Bild von URL herunterladen" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:662 +#: stock/models.py:663 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -3034,7 +2986,7 @@ msgstr "Internes Teil" #: company/templates/company/manufacturer_part.html:95 msgid "No manufacturer information available" -msgstr "" +msgstr "Keine Herstellerdaten verfügbar" #: company/templates/company/manufacturer_part.html:120 #: company/templates/company/supplier_part.html:15 company/views.py:50 @@ -3105,7 +3057,7 @@ msgid "Assigned Stock Items" msgstr "Zugewiesene Lagerartikel" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 +#: company/templates/company/supplier_part.html:24 stock/models.py:627 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3124,7 +3076,7 @@ msgstr "Zuliefererteil entfernen" #: company/templates/company/supplier_part.html:91 msgid "No supplier information available" -msgstr "" +msgstr "Keine Lieferanteninformationen verfügbar" #: company/templates/company/supplier_part.html:144 #: company/templates/company/supplier_part_navbar.html:12 @@ -3284,7 +3236,7 @@ msgstr "Label Beschreibung" #: label/models.py:127 msgid "Label" -msgstr "" +msgstr "Label" #: label/models.py:128 msgid "Label template file" @@ -3372,7 +3324,7 @@ msgid "Company from which the items are being ordered" msgstr "Firma bei der die Teile bestellt werden" #: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "Zulieferer-Referenz" @@ -3429,7 +3381,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "Zieldatum für Auftrags-Fertigstellung." #: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "Versanddatum" @@ -3471,15 +3423,15 @@ msgstr "Lieferdatum für diese Position" #: order/models.py:894 msgid "Context" -msgstr "" +msgstr "Kontext" #: order/models.py:895 msgid "Additional context for this line" -msgstr "" +msgstr "Zusätzlicher Kontext für diese Zeile" #: order/models.py:903 msgid "Unit price" -msgstr "" +msgstr "Stückpreis" #: order/models.py:936 msgid "Supplier part must match supplier" @@ -3487,11 +3439,11 @@ msgstr "Lieferantenteil muss mit Lieferant übereinstimmen" #: order/models.py:943 msgid "deleted" -msgstr "" +msgstr "gelöscht" #: order/models.py:949 order/models.py:1031 order/models.py:1053 #: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "Bestellung" @@ -3500,7 +3452,7 @@ msgstr "Bestellung" #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" @@ -3511,7 +3463,7 @@ msgid "Supplier part" msgstr "Zuliefererteil" #: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" @@ -3521,7 +3473,7 @@ msgstr "Empfangen" msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3643,7 +3595,7 @@ msgstr "Anzahl für Bestandszuordnung eingeben" #: order/serializers.py:77 msgid "Price currency" -msgstr "" +msgstr "Währung" #: order/serializers.py:206 msgid "Order cannot be cancelled" @@ -3651,7 +3603,7 @@ msgstr "Bestellung kann nicht verworfen werden" #: order/serializers.py:304 msgid "Order is not open" -msgstr "" +msgstr "Der Auftrag ist nicht offen" #: order/serializers.py:328 msgid "Purchase price currency" @@ -3659,19 +3611,19 @@ msgstr "Kaufpreiswährung" #: order/serializers.py:342 msgid "Supplier part must be specified" -msgstr "" +msgstr "Zuliefererteil muss ausgewählt werden" #: order/serializers.py:347 msgid "Purchase order must be specified" -msgstr "" +msgstr "Bestellung muss angegeben sein" #: order/serializers.py:353 msgid "Supplier must match purchase order" -msgstr "" +msgstr "Lieferant muss mit der Bestellung übereinstimmen" #: order/serializers.py:354 msgid "Purchase order must match supplier" -msgstr "" +msgstr "Die Bestellung muss mit dem Lieferant übereinstimmen" #: order/serializers.py:414 order/serializers.py:1080 msgid "Line Item" @@ -3820,7 +3772,7 @@ msgstr "Bestellstatus" #: order/templates/order/order_base.html:117 msgid "No suppplier information available" -msgstr "" +msgstr "Keine Lieferanteninformationen verfügbar" #: order/templates/order/order_base.html:130 #: order/templates/order/sales_order_base.html:128 @@ -3841,7 +3793,7 @@ msgstr "Aufgegeben" #: order/templates/order/order_base.html:183 #: order/templates/order/sales_order_base.html:189 msgid "Total cost" -msgstr "" +msgstr "Gesamtsumme" #: order/templates/order/order_base.html:235 msgid "Edit Purchase Order" @@ -3876,7 +3828,7 @@ msgstr "Zulieferer-Teil auswählen" #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3923,13 +3875,13 @@ msgstr "Ausgewählte Positionen erhalten" #: order/templates/order/purchase_order_detail.html:48 #: order/templates/order/sales_order_detail.html:40 msgid "Extra Lines" -msgstr "" +msgstr "Zusätzliche Positionen" #: order/templates/order/purchase_order_detail.html:53 #: order/templates/order/sales_order_detail.html:45 #: order/templates/order/sales_order_detail.html:273 msgid "Add Extra Line" -msgstr "" +msgstr "Extra Zeile anzeigen" #: order/templates/order/purchase_order_detail.html:72 msgid "Received Items" @@ -3942,7 +3894,7 @@ msgstr "Notizen zur Bestellung" #: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" -msgstr "" +msgstr "Neue Auftragspositionen hinzufügen" #: order/templates/order/purchase_orders.html:30 #: order/templates/order/sales_orders.html:33 @@ -3967,7 +3919,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "Dieser Auftrag ist nicht vollständig zugeordnet" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "Kundenreferenz" @@ -4049,19 +4001,19 @@ msgstr "Gesamte Stückliste validieren" msgid "This option must be selected" msgstr "Diese Option muss ausgewählt werden" -#: part/api.py:1045 +#: part/api.py:1037 msgid "Must be greater than zero" msgstr "Muss größer als 0 sein" -#: part/api.py:1049 +#: part/api.py:1041 msgid "Must be a valid quantity" msgstr "Muss eine gültige Nummer sein" -#: part/api.py:1064 +#: part/api.py:1056 msgid "Specify location for initial part stock" msgstr "Standort für anfänglichen Bestand angeben" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 msgid "This field is required" msgstr "Dieses Feld ist erforderlich" @@ -4223,7 +4175,7 @@ msgstr "Revisions- oder Versionsnummer" #: part/models.py:865 part/templates/part/part_base.html:273 #: report/models.py:196 templates/js/translated/part.js:670 msgid "Revision" -msgstr "" +msgstr "Version" #: part/models.py:887 msgid "Where is this item normally stored?" @@ -4457,7 +4409,7 @@ msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" #: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 #: templates/js/translated/table_filters.js:92 msgid "Optional" -msgstr "" +msgstr "Optional" #: part/models.py:2792 msgid "This BOM item is optional" @@ -5115,7 +5067,7 @@ msgstr "Teildetails anzeigen" msgid "This part is a variant of %(link)s" msgstr "Dieses Teil ist eine Variante von %(link)s" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "Auf Lager" @@ -5415,7 +5367,7 @@ msgstr "Unbekannte Datenbank" #: part/templatetags/inventree_extras.py:228 #, python-brace-format msgid "{title} v{version}" -msgstr "" +msgstr "{title} v{version}" #: part/views.py:88 msgid "Set Part Category" @@ -5498,13 +5450,65 @@ msgstr "Kategorieparametervorlage löschen" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "Ihre Umgebung verwendet eine veraltete Git-Version. Dies hindert InvenTree daran, Plugin-Details zu laden." +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "Keine Aktion angegeben" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "Keine passende Aktion gefunden" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 +msgid "Must provide barcode_data parameter" +msgstr "barcode_data Parameter angeben" + +#: plugin/base/barcodes/api.py:129 +msgid "No match found for barcode data" +msgstr "Keine Treffer für Barcode" + +#: plugin/base/barcodes/api.py:131 +msgid "Match found for barcode data" +msgstr "Treffer für Barcode gefunden" + +#: plugin/base/barcodes/api.py:156 +msgid "Must provide stockitem parameter" +msgstr "Lagerartikel-Parameter muss angegeben werden" + +#: plugin/base/barcodes/api.py:163 +msgid "No matching stock item found" +msgstr "Keine passende Lagerartikel gefunden" + +#: plugin/base/barcodes/api.py:193 +msgid "Barcode already matches Stock Item" +msgstr "Barcode entspricht bereits einem Lagerartikel" + +#: plugin/base/barcodes/api.py:197 +msgid "Barcode already matches Stock Location" +msgstr "Barcode entspricht bereits Lagerort" + +#: plugin/base/barcodes/api.py:201 +msgid "Barcode already matches Part" +msgstr "Barcode entspricht bereits Teil" + +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 +msgid "Barcode hash already matches Stock Item" +msgstr "Barcode-Hash entspricht bereits einem Lagerartikel" + +#: plugin/base/barcodes/api.py:225 +msgid "Barcode associated with Stock Item" +msgstr "Barcode Lagerartikel zugeordnet" + +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "Labeldruck fehlgeschlagen" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" -msgstr "" +msgstr "InvenTree Mitwirkende" #: plugin/builtin/integration/core_notifications.py:25 msgid "Integrated outgoing notificaton methods" -msgstr "" +msgstr "Integrierte Ausgehende Benachrichtigungsmethoden" #: plugin/builtin/integration/core_notifications.py:29 #: plugin/builtin/integration/core_notifications.py:46 @@ -5516,49 +5520,45 @@ msgstr "E-Mail-Benachrichtigungen aktivieren" msgid "Allow sending of emails for event notifications" msgstr "Das Senden von Benachrichtigungen als E-Mails erlauben" -#: plugin/events.py:226 -msgid "Label printing failed" -msgstr "Labeldruck fehlgeschlagen" - -#: plugin/integration.py:146 -msgid "No author found" -msgstr "Kein Autor gefunden" - -#: plugin/integration.py:160 -msgid "No date found" -msgstr "Kein Datum gefunden" - -#: plugin/models.py:27 +#: plugin/models.py:29 msgid "Plugin Configuration" msgstr "Plugin-Konfiguration" -#: plugin/models.py:28 +#: plugin/models.py:30 msgid "Plugin Configurations" msgstr "Plugin-Konfigurationen" -#: plugin/models.py:33 +#: plugin/models.py:35 msgid "Key" msgstr "Schlüssel" -#: plugin/models.py:34 +#: plugin/models.py:36 msgid "Key of plugin" msgstr "Schlüssel des Plugins" -#: plugin/models.py:42 +#: plugin/models.py:44 msgid "PluginName of the plugin" msgstr "Name des Plugins" -#: plugin/models.py:48 +#: plugin/models.py:50 msgid "Is the plugin active" msgstr "Ist das Plugin aktiv" -#: plugin/models.py:149 +#: plugin/models.py:123 msgid "Plugin" -msgstr "" +msgstr "Plugin" -#: plugin/models.py:176 +#: plugin/models.py:197 msgid "Method" -msgstr "" +msgstr "Methode" + +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "Kein Autor gefunden" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "Kein Datum gefunden" #: plugin/samples/integration/sample.py:42 msgid "Enable PO" @@ -5627,7 +5627,7 @@ msgstr "Entweder Paketname oder URL muss angegeben werden" #: report/api.py:235 report/api.py:282 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" -msgstr "" +msgstr "Vorlagendatei '{template}' fehlt oder existiert nicht" #: report/models.py:178 msgid "Template name" @@ -5691,7 +5691,7 @@ msgstr "Auftrags-Abfragefilter" #: report/models.py:550 msgid "Snippet" -msgstr "" +msgstr "Snippet" #: report/models.py:551 msgid "Report snippet file" @@ -5719,19 +5719,19 @@ msgstr "benötigt für" #: report/templates/report/inventree_po_report.html:77 msgid "Supplier was deleted" -msgstr "" +msgstr "Lieferant gelöscht" #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "Lagerartikel Test-Bericht" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:667 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "Seriennummer" @@ -5740,19 +5740,19 @@ msgid "Test Results" msgstr "Testergebnisse" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2193 msgid "Test" -msgstr "" +msgstr "Test" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2199 msgid "Result" msgstr "Ergebnis" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "Datum" @@ -5787,12 +5787,12 @@ msgstr "Gültiges Teil muss angegeben werden" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:94 stock/models.py:762 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "Besitzer" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:95 stock/models.py:763 msgid "Select Owner" msgstr "Besitzer auswählen" @@ -5821,203 +5821,203 @@ msgstr "Teil kann nicht zu sich selbst gehören" 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:561 +#: stock/models.py:568 msgid "Build reference does not point to the same part object" msgstr "Referenz verweist nicht auf das gleiche Teil" -#: stock/models.py:604 +#: stock/models.py:611 msgid "Parent Stock Item" msgstr "Eltern-Lagerartikel" -#: stock/models.py:613 +#: stock/models.py:620 msgid "Base part" msgstr "Basis-Teil" -#: stock/models.py:621 +#: stock/models.py:628 msgid "Select a matching supplier part for this stock item" msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:634 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Bestand-Lagerort" -#: stock/models.py:630 +#: stock/models.py:637 msgid "Where is this stock item located?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: stock/models.py:637 +#: stock/models.py:644 msgid "Packaging this stock item is stored in" msgstr "Die Verpackung dieses Lagerartikel ist gelagert in" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:650 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "verbaut in" -#: stock/models.py:646 +#: stock/models.py:653 msgid "Is this item installed in another item?" msgstr "Ist dieses Teil in einem anderen verbaut?" -#: stock/models.py:662 +#: stock/models.py:669 msgid "Serial number for this item" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:676 +#: stock/models.py:683 msgid "Batch code for this stock item" msgstr "Losnummer für diesen Lagerartikel" -#: stock/models.py:681 +#: stock/models.py:688 msgid "Stock Quantity" msgstr "Bestand" -#: stock/models.py:690 +#: stock/models.py:697 msgid "Source Build" msgstr "Quellbau" -#: stock/models.py:692 +#: stock/models.py:699 msgid "Build for this stock item" msgstr "Bauauftrag für diesen Lagerartikel" -#: stock/models.py:703 +#: stock/models.py:710 msgid "Source Purchase Order" msgstr "Quelle Bestellung" -#: stock/models.py:706 +#: stock/models.py:713 msgid "Purchase order for this stock item" msgstr "Bestellung für diesen Lagerartikel" -#: stock/models.py:712 +#: stock/models.py:719 msgid "Destination Sales Order" msgstr "Ziel-Auftrag" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:725 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "Ablaufdatum" -#: stock/models.py:719 +#: stock/models.py:726 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Ablaufdatum für Lagerartikel. Bestand wird danach als abgelaufen gekennzeichnet" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete on deplete" msgstr "Löschen wenn leer" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete this Stock Item when stock is depleted" msgstr "Diesen Lagerartikel löschen wenn der Bestand aufgebraucht ist" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:749 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "Lagerartikel-Notizen" -#: stock/models.py:751 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "Preis für eine Einheit bei Einkauf" -#: stock/models.py:783 +#: stock/models.py:790 msgid "Converted to part" msgstr "In Teil umgewandelt" -#: stock/models.py:1303 +#: stock/models.py:1310 msgid "Part is not set as trackable" msgstr "Teil ist nicht verfolgbar" -#: stock/models.py:1309 +#: stock/models.py:1316 msgid "Quantity must be integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: stock/models.py:1315 +#: stock/models.py:1322 #, 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:1318 +#: stock/models.py:1325 msgid "Serial numbers must be a list of integers" msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" -#: stock/models.py:1321 +#: stock/models.py:1328 msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:1328 +#: stock/models.py:1335 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Seriennummern {exists} existieren bereits" -#: stock/models.py:1399 +#: stock/models.py:1406 msgid "Stock item has been assigned to a sales order" msgstr "Artikel wurde einem Kundenauftrag zugewiesen" -#: stock/models.py:1402 +#: stock/models.py:1409 msgid "Stock item is installed in another item" msgstr "Lagerartikel ist in anderem Element verbaut" -#: stock/models.py:1405 +#: stock/models.py:1412 msgid "Stock item contains other items" msgstr "Lagerartikel enthält andere Artikel" -#: stock/models.py:1408 +#: stock/models.py:1415 msgid "Stock item has been assigned to a customer" msgstr "Artikel wurde einem Kunden zugewiesen" -#: stock/models.py:1411 +#: stock/models.py:1418 msgid "Stock item is currently in production" msgstr "Lagerartikel wird aktuell produziert" -#: stock/models.py:1414 +#: stock/models.py:1421 msgid "Serialized stock cannot be merged" msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1428 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "Artikel duplizeren" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock items must refer to the same part" msgstr "Lagerartikel müssen auf dasselbe Teil verweisen" -#: stock/models.py:1429 +#: stock/models.py:1436 msgid "Stock items must refer to the same supplier part" msgstr "Lagerartikel müssen auf dasselbe Lieferantenteil verweisen" -#: stock/models.py:1433 +#: stock/models.py:1440 msgid "Stock status codes must match" msgstr "Status-Codes müssen zusammenpassen" -#: stock/models.py:1605 +#: stock/models.py:1612 msgid "StockItem cannot be moved as it is not in stock" msgstr "Lagerartikel kann nicht bewegt werden, da kein Bestand vorhanden ist" -#: stock/models.py:2106 +#: stock/models.py:2113 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:2163 +#: stock/models.py:2170 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:2169 +#: stock/models.py:2176 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:2187 +#: stock/models.py:2194 msgid "Test name" msgstr "Name des Tests" -#: stock/models.py:2193 +#: stock/models.py:2200 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:2199 +#: stock/models.py:2206 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:2206 +#: stock/models.py:2213 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:2212 +#: stock/models.py:2219 msgid "Test notes" msgstr "Test Notizen" @@ -6068,7 +6068,7 @@ msgstr "Ausgewähltes Teil ist nicht in der Stückliste" #: stock/serializers.py:466 msgid "Destination location for uninstalled item" -msgstr "" +msgstr "Ziel Lagerort für unverbautes Objekt" #: stock/serializers.py:471 msgid "Add transaction note (optional)" @@ -6355,7 +6355,7 @@ msgstr "Kein Hersteller ausgewählt" #: stock/templates/stock/item_base.html:397 msgid "Tests" -msgstr "" +msgstr "Tests" #: stock/templates/stock/item_base.html:415 msgid "You are not in the list of owners of this item. This stock item cannot be edited." @@ -6587,7 +6587,7 @@ msgstr "Interner Serverfehler" #: templates/500.html:15 #, python-format msgid "The %(inventree_title)s server raised an internal error" -msgstr "" +msgstr "Der %(inventree_title)s -Server hat einen internen Fehler aufgeworfen" #: templates/500.html:16 msgid "Refer to the error log in the admin interface for further details" @@ -6603,7 +6603,7 @@ msgstr "Die Seite ist derzeit in Wartung und sollte bald wieder verfügbar sein! #: templates/InvenTree/index.html:7 msgid "Index" -msgstr "" +msgstr "Index" #: templates/InvenTree/index.html:88 msgid "Subscribed Parts" @@ -6697,7 +6697,7 @@ msgstr "Benachrichtigungen" #: templates/InvenTree/notifications/notifications.html:51 #: templates/InvenTree/settings/settings.html:321 msgid "ID" -msgstr "" +msgstr "ID" #: templates/InvenTree/notifications/notifications.html:57 msgid "Age" @@ -6789,7 +6789,7 @@ msgstr "Einstellungen" #: templates/InvenTree/settings/mixins/urls.html:5 msgid "URLs" -msgstr "" +msgstr "URLs" #: templates/InvenTree/settings/mixins/urls.html:8 #, python-format @@ -6822,11 +6822,11 @@ msgstr "Plugin-Einstellungen" #: templates/InvenTree/settings/plugin.html:16 msgid "Changing the settings below require you to immediatly restart the server. Do not change this while under active usage." -msgstr "" +msgstr "Wenn Sie die folgenden Einstellungen ändern, müssen Sie InvenTree sofort neu starten. Ändern Sie dies nicht während der aktiven Nutzung." #: templates/InvenTree/settings/plugin.html:34 msgid "Plugins" -msgstr "" +msgstr "Plugins" #: templates/InvenTree/settings/plugin.html:39 #: templates/js/translated/plugin.js:15 @@ -6836,7 +6836,7 @@ msgstr "Plugin installieren" #: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137 #: users/models.py:39 msgid "Admin" -msgstr "" +msgstr "Admin" #: templates/InvenTree/settings/plugin.html:50 #: templates/InvenTree/settings/plugin_settings.html:28 @@ -6846,11 +6846,11 @@ msgstr "Autor" #: templates/InvenTree/settings/plugin.html:52 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" -msgstr "" +msgstr "Version" #: templates/InvenTree/settings/plugin.html:74 msgid "Sample" -msgstr "" +msgstr "Beispiel" #: templates/InvenTree/settings/plugin.html:99 msgid "Inactive plugins" @@ -6899,7 +6899,7 @@ msgstr "Dieses Plugin wurde als Paket installiert" #: templates/InvenTree/settings/plugin_settings.html:88 msgid "This plugin was found in a local server path" -msgstr "" +msgstr "Dieses Plugin wurde in einem lokalen Serverpfad gefunden" #: templates/InvenTree/settings/plugin_settings.html:94 msgid "Installation path" @@ -6954,7 +6954,7 @@ msgstr "Plugin-Einstellungen bearbeiten" #: templates/InvenTree/settings/settings.html:121 msgid "Edit Notification Setting" -msgstr "" +msgstr "Benachrichtigungs-Einstellungen" #: templates/InvenTree/settings/settings.html:124 msgid "Edit Global Setting" @@ -7135,7 +7135,7 @@ msgstr "Sie haben folgende Faktoren zur Verfügung:" #: templates/InvenTree/settings/user.html:187 msgid "TOTP" -msgstr "" +msgstr "TOTP" #: templates/InvenTree/settings/user.html:193 msgid "Static" @@ -7259,7 +7259,7 @@ msgstr "Hilf bei der Übersetzung!" #: templates/InvenTree/settings/user_display.html:104 #, python-format msgid "Native language translation of the web application is community contributed via crowdin. Contributions are welcomed and encouraged." -msgstr "" +msgstr "Die Übersetzung der Website wird von Nutzern mit Crowdin betrieben. Wir ermutigen zur und freuen uns über jeden Mithilfe!" #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" @@ -7328,7 +7328,7 @@ msgstr "Danksagung" #: templates/about.html:83 msgid "Mobile App" -msgstr "" +msgstr "Mobile App" #: templates/about.html:88 msgid "Submit Bug Report" @@ -7694,7 +7694,7 @@ msgstr "Barcode-Daten eingeben" #: templates/js/translated/barcode.js:39 msgid "Barcode" -msgstr "" +msgstr "Barcode" #: templates/js/translated/barcode.js:95 msgid "Enter optional notes for stock transfer" @@ -7797,7 +7797,7 @@ msgstr "Vorlage einer Stückliste herunterladen" #: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" -msgstr "" +msgstr "Format" #: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:588 @@ -7878,7 +7878,7 @@ msgstr "Stücklisten Ersatzteile bearbeiten" #: templates/js/translated/bom.js:763 msgid "Load BOM for subassembly" -msgstr "" +msgstr "Stückliste für Bauteile laden" #: templates/js/translated/bom.js:773 msgid "Substitutes Available" @@ -7894,12 +7894,12 @@ msgstr "Kein Lagerbestand verfügbar" #: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" -msgstr "" +msgstr "Beinhaltet Variante und Ersatzbestand" #: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" -msgstr "" +msgstr "Beinhaltet Variantenbestand" #: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 msgid "Includes substitute stock" @@ -7967,7 +7967,7 @@ msgstr "Bauauftrag erstellen" #: templates/js/translated/build.js:134 msgid "Cancel Build Order" -msgstr "" +msgstr "Bauauftrag abbrechen" #: templates/js/translated/build.js:143 msgid "Are you sure you wish to cancel this build?" @@ -7975,11 +7975,11 @@ msgstr "Sind Sie sicher, dass sie diesen Bauauftrag abbrechen möchten?" #: templates/js/translated/build.js:149 msgid "Stock items have been allocated to this build order" -msgstr "" +msgstr "Lagerbestand wurde zu diesem Bauauftrag hinzugefügt" #: templates/js/translated/build.js:156 msgid "There are incomplete outputs remaining for this build order" -msgstr "" +msgstr "Für diesen Bau-Auftrag sind noch unvollständige Endprodukte vorhanden" #: templates/js/translated/build.js:185 msgid "Build order is ready to be completed" @@ -8081,27 +8081,27 @@ msgstr "Keine aktiven Endprodukte gefunden" #: templates/js/translated/build.js:1207 msgid "Allocated Stock" -msgstr "" +msgstr "Bestand zuteilen" #: templates/js/translated/build.js:1214 msgid "No tracked BOM items for this build" -msgstr "" +msgstr "Keine nachverfolgten BOM Elemente für diese Fertigung" #: templates/js/translated/build.js:1236 msgid "Completed Tests" -msgstr "" +msgstr "Abgeschlossene Tests" #: templates/js/translated/build.js:1241 msgid "No required tests for this build" -msgstr "" +msgstr "Keine erforderlichen Tests für diesen Bauauftrag" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "Bestands-Zuordnung bearbeiten" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "Bestands-Zuordnung löschen" @@ -8123,18 +8123,18 @@ msgstr "Anzahl pro" #: templates/js/translated/build.js:1825 msgid "Insufficient stock available" -msgstr "" +msgstr "Unzureichender Bestand verfügbar" #: templates/js/translated/build.js:1827 msgid "Sufficient stock available" -msgstr "" +msgstr "Ausreichender Bestand verfügbar" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "Zugeordnet" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "Bestand bauen" @@ -8142,21 +8142,21 @@ msgstr "Bestand bauen" msgid "Order stock" msgstr "Bestand bestellen" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "Bestand zuweisen" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "Teile auswählen" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "Sie müssen mindestens ein Teil auswählen" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" @@ -8168,7 +8168,7 @@ msgstr "Alle Teile zugeordnet" msgid "All selected parts have been fully allocated" msgstr "Alle ausgewählten Teile wurden vollständig zugeordnet" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 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)" @@ -8176,11 +8176,11 @@ msgstr "Wählen Sie den Quellort aus (leer lassen um von allen Standorten zu neh msgid "Allocate Stock Items to Build Order" msgstr "Lagerartikel für Bauauftrag zuweisen" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "Keine passenden Lagerstandorte" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "Keine passenden Lagerbestände" @@ -8224,7 +8224,7 @@ msgstr "Bauauftrag ist überfällig" #: templates/js/translated/build.js:2428 msgid "Progress" -msgstr "" +msgstr "Fortschritt" #: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524 msgid "No user information" @@ -8627,7 +8627,7 @@ msgstr "Sendung bestätigen" #: templates/js/translated/order.js:156 msgid "Complete Purchase Order" -msgstr "" +msgstr "Bestellung vervollständigen" #: templates/js/translated/order.js:162 msgid "Mark this order as complete?" @@ -8635,7 +8635,7 @@ msgstr "Diese Bestellung als vollständig markieren?" #: templates/js/translated/order.js:168 msgid "All line items have been received" -msgstr "" +msgstr "Alle Einträge wurden erhalten" #: templates/js/translated/order.js:173 msgid "This order has line items which have not been marked as received." @@ -8647,19 +8647,19 @@ msgstr "Fertigstellen dieser Bestellung bedeutet, dass sie und ihre Positionen n #: templates/js/translated/order.js:197 msgid "Cancel Purchase Order" -msgstr "" +msgstr "Bestellung abbrechen" #: templates/js/translated/order.js:202 msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" +msgstr "Sind Sie sicher, dass Sie diese Bestellung abbrechen möchten?" #: templates/js/translated/order.js:208 msgid "This purchase order can not be cancelled" -msgstr "" +msgstr "Diese Bestellung kann nicht storniert werden" #: templates/js/translated/order.js:231 msgid "Issue Purchase Order" -msgstr "" +msgstr "Bestellung aufgeben" #: templates/js/translated/order.js:236 msgid "After placing this purchase order, line items will no longer be editable." @@ -8667,7 +8667,7 @@ msgstr "Nachdem diese Bestellung plaziert ist können die Positionen nicht läng #: templates/js/translated/order.js:258 msgid "Cancel Sales Order" -msgstr "" +msgstr "Auftrag stornieren" #: templates/js/translated/order.js:263 msgid "Cancelling this order means that the order will no longer be editable." @@ -8691,31 +8691,31 @@ msgstr "Bestellung exportieren" #: templates/js/translated/order.js:635 msgid "At least one purchaseable part must be selected" -msgstr "" +msgstr "Mindestens ein kaufbares Teil muss ausgewählt werden" #: templates/js/translated/order.js:660 msgid "Quantity to order" -msgstr "" +msgstr "Zu bestellende Menge" #: templates/js/translated/order.js:669 msgid "New supplier part" -msgstr "" +msgstr "Neues Zuliefererteil" #: templates/js/translated/order.js:687 msgid "New purchase order" -msgstr "" +msgstr "Neue Bestellung" #: templates/js/translated/order.js:720 msgid "Add to purchase order" -msgstr "" +msgstr "Zur Bestellung hinzufügen" #: templates/js/translated/order.js:829 msgid "No matching supplier parts" -msgstr "" +msgstr "Keine passenden Lieferantenteile" #: templates/js/translated/order.js:844 msgid "No matching purchase orders" -msgstr "" +msgstr "Keine passenden Bestellungen" #: templates/js/translated/order.js:1000 msgid "Select Line Items" @@ -8761,211 +8761,211 @@ msgstr "Empfang der Teile bestätigen" msgid "Receive Purchase Order Items" msgstr "Bestellpositionen erhalten" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "Keine Bestellungen gefunden" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "Bestellung überfällig" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "Positionen" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "Position duplizieren" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "Position bearbeiten" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "Position löschen" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "Keine Positionen gefunden" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "Summe" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "Stück-Preis" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "Gesamtpreis" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "Diese Position ist überfällig" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "Position empfangen" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "Position duplizieren" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "Position bearbeiten" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "Position löschen" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" -msgstr "" +msgstr "Position duplizieren" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" -msgstr "" +msgstr "Zeile bearbeiten" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" -msgstr "" +msgstr "Zeile löschen" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" -msgstr "" +msgstr "Position duplizieren" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" -msgstr "" +msgstr "Zeile bearbeiten" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" -msgstr "" +msgstr "Zeile löschen" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" -msgstr "" +msgstr "Keine passenden Positionen gefunden" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "Keine Aufträge gefunden" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "Ungültiger Kunde" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "Sendung bearbeiten" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "Sendung fertigstellen" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "Sendung löschen" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "Sendung bearbeiten" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "Sendung löschen" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "Keine passenden Sendungen gefunden" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "Sendungsreferenz" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "Nicht versandt" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "Nachverfolgen" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "Bestandszuordnung bestätigen" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "Artikel zu Kundenauftrag zuweisen" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "Keine Allokationen für Verkaufsaufträge gefunden" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "Bestandszuordnung bearbeiten" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "Löschvorgang bestätigen" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "Bestands-Zuordnung löschen" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "an Kunde versand" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "Lagerstandort nicht angegeben" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "Seriennummern zuweisen" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "Bestand kaufen" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "Preis berechnen" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "Kann nicht gelöscht werden, da Artikel versandt wurden" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "Kann nicht gelöscht werden, da Artikel zugewiesen sind" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "Seriennummern zuweisen" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "Stückpreis aktualisieren" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "Keine passenden Positionen gefunden" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" -msgstr "" +msgstr "Keine passenden Positionen gefunden" #: templates/js/translated/part.js:55 msgid "Part Attributes" @@ -9590,7 +9590,7 @@ msgstr "Status Code muss ausgewählt werden" #: templates/js/translated/stock.js:2370 msgid "Details" -msgstr "" +msgstr "Details" #: templates/js/translated/stock.js:2386 msgid "Part information unavailable" @@ -9630,7 +9630,7 @@ msgstr "Lagerartikel entfernen" #: templates/js/translated/stock.js:2671 msgid "Select stock item to uninstall" -msgstr "" +msgstr "Zu deinstallierende Lagerartikel auswählen" #: templates/js/translated/stock.js:2692 msgid "Install another stock item into this item" @@ -9650,7 +9650,7 @@ msgstr "Dieser Lagerartikel ist aktuell vorhanden" #: templates/js/translated/stock.js:2697 msgid "The Stock Item is not already installed in another item" -msgstr "" +msgstr "Der Lagerbestand ist nicht bereits in einem anderen Bestand installiert" #: templates/js/translated/stock.js:2698 msgid "The Stock Item is tracked by either a batch code or serial number" @@ -10024,7 +10024,7 @@ msgstr "Keine Treffer gefunden" #: templates/stats.html:9 msgid "Server" -msgstr "" +msgstr "Server" #: templates/stats.html:13 msgid "Instance Name" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index 6d71db45cd..85644b0453 100644 --- a/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/InvenTree/locale/el/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-10 04:16+0000\n" -"PO-Revision-Date: 2022-05-11 00:29\n" +"POT-Creation-Date: 2022-05-15 23:30+0000\n" +"PO-Revision-Date: 2022-05-16 01:10\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -17,18 +17,10 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:53 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "" - #: InvenTree/fields.py:100 msgid "Enter date" msgstr "" @@ -128,7 +120,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2212 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "" @@ -146,7 +138,7 @@ msgid "Link" msgstr "" #: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: stock/models.py:677 msgid "Link to external URL" msgstr "" @@ -158,10 +150,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 +#: common/models.py:1547 common/models.py:1778 common/models.py:1779 +#: common/models.py:2006 common/models.py:2007 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -200,9 +192,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 #: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: part/models.py:2555 plugin/models.py:43 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -230,8 +222,8 @@ msgstr "" #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -440,7 +432,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "" @@ -616,46 +608,6 @@ msgstr "" msgid "System Information" msgstr "" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "" @@ -687,8 +639,8 @@ msgstr "" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 +#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 msgid "Reference" msgstr "" @@ -727,8 +679,8 @@ msgstr "" #: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -750,7 +702,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" @@ -791,7 +743,7 @@ msgid "Build status code" msgstr "" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: stock/models.py:681 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" @@ -800,7 +752,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" @@ -834,7 +786,7 @@ msgstr "" #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" @@ -845,7 +797,7 @@ msgstr "" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 +#: part/templates/part/part_base.html:346 stock/models.py:675 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "" @@ -858,14 +810,14 @@ msgstr "" #: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 +#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "" @@ -928,9 +880,9 @@ msgstr "" #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" @@ -942,7 +894,7 @@ msgstr "" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 +#: build/templates/build/detail.html:34 common/models.py:1589 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 @@ -964,10 +916,10 @@ msgstr "" #: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -1015,7 +967,7 @@ msgstr "" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "" @@ -1060,8 +1012,8 @@ msgstr "" #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 @@ -1076,8 +1028,8 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "" @@ -1278,9 +1230,9 @@ msgstr "" #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "" @@ -1314,7 +1266,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1350,7 +1302,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1592,856 +1544,856 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:387 +#: common/models.py:401 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:389 +#: common/models.py:403 msgid "Settings value" msgstr "" -#: common/models.py:430 +#: common/models.py:444 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:450 +#: common/models.py:464 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:461 +#: common/models.py:475 msgid "Value must be an integer value" msgstr "" -#: common/models.py:510 +#: common/models.py:524 msgid "Key string must be unique" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "No group" msgstr "" -#: common/models.py:784 +#: common/models.py:788 msgid "Restart required" msgstr "" -#: common/models.py:785 +#: common/models.py:789 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:792 +#: common/models.py:796 msgid "Server Instance Name" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:798 +#: common/models.py:802 msgid "Use instance name" msgstr "" -#: common/models.py:799 +#: common/models.py:803 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:805 +#: common/models.py:809 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:816 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Internal company name" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Base URL" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Base URL for server instance" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Default Currency" msgstr "" -#: common/models.py:826 +#: common/models.py:830 msgid "Default currency" msgstr "" -#: common/models.py:832 +#: common/models.py:836 msgid "Download from URL" msgstr "" -#: common/models.py:833 +#: common/models.py:837 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:840 +#: common/models.py:844 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:846 +#: common/models.py:850 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:851 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:857 msgid "IPN Regex" msgstr "" -#: common/models.py:854 +#: common/models.py:858 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:858 +#: common/models.py:862 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:859 +#: common/models.py:863 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:865 +#: common/models.py:869 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:866 +#: common/models.py:870 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:872 +#: common/models.py:876 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:873 +#: common/models.py:877 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:883 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:880 +#: common/models.py:884 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:886 +#: common/models.py:890 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:887 +#: common/models.py:891 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:893 +#: common/models.py:897 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:894 +#: common/models.py:898 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:904 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:901 +#: common/models.py:905 msgid "Parts are templates by default" msgstr "" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:908 +#: common/models.py:912 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:914 part/models.py:967 +#: common/models.py:918 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:915 +#: common/models.py:919 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:921 part/models.py:978 +#: common/models.py:925 part/models.py:978 msgid "Purchaseable" msgstr "" -#: common/models.py:922 +#: common/models.py:926 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:928 part/models.py:983 +#: common/models.py:932 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:929 +#: common/models.py:933 msgid "Parts are salable by default" msgstr "" -#: common/models.py:935 part/models.py:973 +#: common/models.py:939 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:936 +#: common/models.py:940 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:942 part/models.py:993 +#: common/models.py:946 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:943 +#: common/models.py:947 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:949 +#: common/models.py:953 msgid "Show Import in Views" msgstr "" -#: common/models.py:950 +#: common/models.py:954 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:956 +#: common/models.py:960 msgid "Show Price in Forms" msgstr "" -#: common/models.py:957 +#: common/models.py:961 msgid "Display part price in some forms" msgstr "" -#: common/models.py:968 +#: common/models.py:972 msgid "Show Price in BOM" msgstr "" -#: common/models.py:969 +#: common/models.py:973 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:980 +#: common/models.py:984 msgid "Show Price History" msgstr "" -#: common/models.py:981 +#: common/models.py:985 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:987 +#: common/models.py:991 msgid "Show related parts" msgstr "" -#: common/models.py:988 +#: common/models.py:992 msgid "Display related parts for a part" msgstr "" -#: common/models.py:994 +#: common/models.py:998 msgid "Create initial stock" msgstr "" -#: common/models.py:995 +#: common/models.py:999 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1001 +#: common/models.py:1005 msgid "Internal Prices" msgstr "" -#: common/models.py:1002 +#: common/models.py:1006 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1008 +#: common/models.py:1012 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1009 +#: common/models.py:1013 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1015 +#: common/models.py:1019 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1016 +#: common/models.py:1020 msgid "Format to display the part name" msgstr "" -#: common/models.py:1023 +#: common/models.py:1027 msgid "Enable Reports" msgstr "" -#: common/models.py:1024 +#: common/models.py:1028 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1034 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1031 +#: common/models.py:1035 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1037 +#: common/models.py:1041 msgid "Page Size" msgstr "" -#: common/models.py:1038 +#: common/models.py:1042 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1048 +#: common/models.py:1052 msgid "Test Reports" msgstr "" -#: common/models.py:1049 +#: common/models.py:1053 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1055 +#: common/models.py:1059 msgid "Batch Code Template" msgstr "" -#: common/models.py:1056 +#: common/models.py:1060 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1061 +#: common/models.py:1065 msgid "Stock Expiry" msgstr "" -#: common/models.py:1062 +#: common/models.py:1066 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1068 +#: common/models.py:1072 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1069 +#: common/models.py:1073 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1075 +#: common/models.py:1079 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1076 +#: common/models.py:1080 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1078 +#: common/models.py:1082 msgid "days" msgstr "" -#: common/models.py:1083 +#: common/models.py:1087 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1084 +#: common/models.py:1088 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1090 +#: common/models.py:1094 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1091 +#: common/models.py:1095 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1097 +#: common/models.py:1101 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1098 +#: common/models.py:1102 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1103 +#: common/models.py:1107 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1104 +#: common/models.py:1108 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1108 +#: common/models.py:1112 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1109 +#: common/models.py:1113 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1118 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1115 +#: common/models.py:1119 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1121 +#: common/models.py:1125 msgid "Enable password forgot" msgstr "" -#: common/models.py:1122 +#: common/models.py:1126 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1128 +#: common/models.py:1132 msgid "Enable registration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1133 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1135 +#: common/models.py:1139 msgid "Enable SSO" msgstr "" -#: common/models.py:1136 +#: common/models.py:1140 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1142 +#: common/models.py:1146 msgid "Email required" msgstr "" -#: common/models.py:1143 +#: common/models.py:1147 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1149 +#: common/models.py:1153 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1150 +#: common/models.py:1154 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1156 +#: common/models.py:1160 msgid "Mail twice" msgstr "" -#: common/models.py:1157 +#: common/models.py:1161 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1163 +#: common/models.py:1167 msgid "Password twice" msgstr "" -#: common/models.py:1164 +#: common/models.py:1168 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1170 +#: common/models.py:1174 msgid "Group on signup" msgstr "" -#: common/models.py:1171 +#: common/models.py:1175 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1177 +#: common/models.py:1181 msgid "Enforce MFA" msgstr "" -#: common/models.py:1178 +#: common/models.py:1182 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1184 +#: common/models.py:1188 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1185 +#: common/models.py:1189 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1193 +#: common/models.py:1197 msgid "Enable URL integration" msgstr "" -#: common/models.py:1194 +#: common/models.py:1198 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1201 +#: common/models.py:1205 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1202 +#: common/models.py:1206 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1209 +#: common/models.py:1213 msgid "Enable app integration" msgstr "" -#: common/models.py:1210 +#: common/models.py:1214 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1217 +#: common/models.py:1221 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1218 +#: common/models.py:1222 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1225 +#: common/models.py:1229 msgid "Enable event integration" msgstr "" -#: common/models.py:1226 +#: common/models.py:1230 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1245 common/models.py:1539 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1272 +#: common/models.py:1276 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1273 +#: common/models.py:1277 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1279 +#: common/models.py:1283 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1280 +#: common/models.py:1284 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1286 +#: common/models.py:1290 msgid "Show latest parts" msgstr "" -#: common/models.py:1287 +#: common/models.py:1291 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1293 +#: common/models.py:1297 msgid "Recent Part Count" msgstr "" -#: common/models.py:1294 +#: common/models.py:1298 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1300 +#: common/models.py:1304 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1301 +#: common/models.py:1305 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1311 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1308 +#: common/models.py:1312 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1314 +#: common/models.py:1318 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1315 +#: common/models.py:1319 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1321 +#: common/models.py:1325 msgid "Show low stock" msgstr "" -#: common/models.py:1322 +#: common/models.py:1326 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1332 msgid "Show depleted stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1333 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1339 msgid "Show needed stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1340 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1346 msgid "Show expired stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1347 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1353 msgid "Show stale stock" msgstr "" -#: common/models.py:1350 +#: common/models.py:1354 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1360 msgid "Show pending builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1361 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1367 msgid "Show overdue builds" msgstr "" -#: common/models.py:1364 +#: common/models.py:1368 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1374 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1375 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1381 msgid "Show overdue POs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1382 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1388 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1389 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1391 +#: common/models.py:1395 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1392 +#: common/models.py:1396 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1397 +#: common/models.py:1401 msgid "Enable label printing" msgstr "" -#: common/models.py:1398 +#: common/models.py:1402 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1404 +#: common/models.py:1408 msgid "Inline label display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1409 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1415 msgid "Inline report display" msgstr "" -#: common/models.py:1412 +#: common/models.py:1416 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1418 +#: common/models.py:1422 msgid "Search Parts" msgstr "" -#: common/models.py:1419 +#: common/models.py:1423 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1429 msgid "Search Categories" msgstr "" -#: common/models.py:1426 +#: common/models.py:1430 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1436 msgid "Search Stock" msgstr "" -#: common/models.py:1433 +#: common/models.py:1437 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1443 msgid "Search Locations" msgstr "" -#: common/models.py:1440 +#: common/models.py:1444 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1450 msgid "Search Companies" msgstr "" -#: common/models.py:1447 +#: common/models.py:1451 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1457 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1458 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1464 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1461 +#: common/models.py:1465 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1471 msgid "Search Preview Results" msgstr "" -#: common/models.py:1468 +#: common/models.py:1472 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1478 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1475 +#: common/models.py:1479 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1481 +#: common/models.py:1485 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1482 +#: common/models.py:1486 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1492 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1489 +#: common/models.py:1493 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1495 +#: common/models.py:1499 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1496 +#: common/models.py:1500 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1502 +#: common/models.py:1506 msgid "Date Format" msgstr "" -#: common/models.py:1503 +#: common/models.py:1507 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1521 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1518 +#: common/models.py:1522 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1590 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1583 company/serializers.py:264 +#: common/models.py:1597 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1584 +#: common/models.py:1598 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1755 common/models.py:1892 msgid "Endpoint" msgstr "" -#: common/models.py:1742 +#: common/models.py:1756 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1751 +#: common/models.py:1765 msgid "Name for this webhook" msgstr "" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1770 part/models.py:988 plugin/models.py:49 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2449,67 +2401,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1757 +#: common/models.py:1771 msgid "Is this webhook active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1785 msgid "Token" msgstr "" -#: common/models.py:1772 +#: common/models.py:1786 msgid "Token for access" msgstr "" -#: common/models.py:1779 +#: common/models.py:1793 msgid "Secret" msgstr "" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1847 +#: common/models.py:1859 msgid "Message ID" msgstr "" -#: common/models.py:1848 +#: common/models.py:1860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Host" msgstr "" -#: common/models.py:1857 +#: common/models.py:1869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Header" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Header of this message" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Body" msgstr "" -#: common/models.py:1872 +#: common/models.py:1884 msgid "Body of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1893 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Worked on" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Was the work on this message finished?" msgstr "" @@ -2646,7 +2598,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:612 +#: company/models.py:317 company/models.py:532 stock/models.py:619 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "" @@ -2673,7 +2625,7 @@ msgstr "" #: company/models.py:339 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" @@ -2703,7 +2655,7 @@ msgstr "" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2205 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2732,7 +2684,7 @@ msgstr "" #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2743,7 +2695,7 @@ msgid "Select supplier" msgstr "" #: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" @@ -2780,7 +2732,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: stock/models.py:643 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" @@ -2853,10 +2805,10 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:662 +#: stock/models.py:663 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -3105,7 +3057,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 +#: company/templates/company/supplier_part.html:24 stock/models.py:627 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3372,7 +3324,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" @@ -3429,7 +3381,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "" #: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" @@ -3491,7 +3443,7 @@ msgstr "" #: order/models.py:949 order/models.py:1031 order/models.py:1053 #: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "" @@ -3500,7 +3452,7 @@ msgstr "" #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" @@ -3511,7 +3463,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" @@ -3521,7 +3473,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3876,7 +3828,7 @@ msgstr "" #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3967,7 +3919,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "" @@ -4049,19 +4001,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1045 +#: part/api.py:1037 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1049 +#: part/api.py:1041 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1064 +#: part/api.py:1056 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 msgid "This field is required" msgstr "" @@ -5115,7 +5067,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5496,6 +5448,58 @@ msgstr "" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 +msgid "Must provide barcode_data parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:129 +msgid "No match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:131 +msgid "Match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:156 +msgid "Must provide stockitem parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:163 +msgid "No matching stock item found" +msgstr "" + +#: plugin/base/barcodes/api.py:193 +msgid "Barcode already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:197 +msgid "Barcode already matches Stock Location" +msgstr "" + +#: plugin/base/barcodes/api.py:201 +msgid "Barcode already matches Part" +msgstr "" + +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 +msgid "Barcode hash already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:225 +msgid "Barcode associated with Stock Item" +msgstr "" + +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5514,50 +5518,46 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:226 -msgid "Label printing failed" -msgstr "" - -#: plugin/integration.py:146 -msgid "No author found" -msgstr "" - -#: plugin/integration.py:160 -msgid "No date found" -msgstr "" - -#: plugin/models.py:27 +#: plugin/models.py:29 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:30 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:35 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:36 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:44 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:50 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:123 msgid "Plugin" msgstr "" -#: plugin/models.py:176 +#: plugin/models.py:197 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "" @@ -5724,12 +5724,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:667 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "" @@ -5738,19 +5738,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2193 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2199 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "" @@ -5785,12 +5785,12 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:94 stock/models.py:762 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:95 stock/models.py:763 msgid "Select Owner" msgstr "" @@ -5819,203 +5819,203 @@ msgstr "" msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:561 +#: stock/models.py:568 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:604 +#: stock/models.py:611 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:613 +#: stock/models.py:620 msgid "Base part" msgstr "" -#: stock/models.py:621 +#: stock/models.py:628 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:634 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:630 +#: stock/models.py:637 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:637 +#: stock/models.py:644 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:650 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "" -#: stock/models.py:646 +#: stock/models.py:653 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:662 +#: stock/models.py:669 msgid "Serial number for this item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:683 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:681 +#: stock/models.py:688 msgid "Stock Quantity" msgstr "" -#: stock/models.py:690 +#: stock/models.py:697 msgid "Source Build" msgstr "" -#: stock/models.py:692 +#: stock/models.py:699 msgid "Build for this stock item" msgstr "" -#: stock/models.py:703 +#: stock/models.py:710 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:706 +#: stock/models.py:713 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:712 +#: stock/models.py:719 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:725 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:719 +#: stock/models.py:726 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete on deplete" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:749 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:751 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:783 +#: stock/models.py:790 msgid "Converted to part" msgstr "" -#: stock/models.py:1303 +#: stock/models.py:1310 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1309 +#: stock/models.py:1316 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1315 +#: stock/models.py:1322 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1318 +#: stock/models.py:1325 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1328 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1335 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1399 +#: stock/models.py:1406 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1402 +#: stock/models.py:1409 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1405 +#: stock/models.py:1412 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1408 +#: stock/models.py:1415 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1411 +#: stock/models.py:1418 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1414 +#: stock/models.py:1421 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1428 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1429 +#: stock/models.py:1436 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1440 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1605 +#: stock/models.py:1612 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2106 +#: stock/models.py:2113 msgid "Entry notes" msgstr "" -#: stock/models.py:2163 +#: stock/models.py:2170 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2169 +#: stock/models.py:2176 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2187 +#: stock/models.py:2194 msgid "Test name" msgstr "" -#: stock/models.py:2193 +#: stock/models.py:2200 msgid "Test result" msgstr "" -#: stock/models.py:2199 +#: stock/models.py:2206 msgid "Test output value" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2213 msgid "Test result attachment" msgstr "" -#: stock/models.py:2212 +#: stock/models.py:2219 msgid "Test notes" msgstr "" @@ -8094,12 +8094,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "" @@ -8128,11 +8128,11 @@ msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "" @@ -8140,21 +8140,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "" @@ -8166,7 +8166,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8174,11 +8174,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "" @@ -8759,209 +8759,209 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index 4c765e7bd9..ccce0dabe8 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: 2022-05-07 23:02+0000\n" +"POT-Creation-Date: 2022-05-11 13:30+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -129,7 +129,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2202 +#: InvenTree/models.py:197 stock/models.py:2205 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "" @@ -139,15 +139,15 @@ msgid "Select file to attach" msgstr "" #: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:868 +#: company/models.py:561 order/models.py:132 part/models.py:870 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:869 -#: stock/models.py:669 +#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 +#: stock/models.py:670 msgid "Link to external URL" msgstr "" @@ -159,10 +159,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535 -#: common/models.py:1536 common/models.py:1757 common/models.py:1758 -#: common/models.py:1987 common/models.py:1988 part/models.py:2369 -#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 +#: common/models.py:1543 common/models.py:1764 common/models.py:1765 +#: common/models.py:1994 common/models.py:1995 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -201,15 +201,15 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743 -#: company/models.py:412 label/models.py:112 part/models.py:812 -#: part/models.py:2553 plugin/models.py:41 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: company/models.py:412 label/models.py:112 part/models.py:814 +#: part/models.py:2555 plugin/models.py:41 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:323 +#: templates/InvenTree/settings/settings.html:327 #: templates/js/translated/company.js:641 templates/js/translated/part.js:615 #: templates/js/translated/part.js:767 templates/js/translated/part.js:1736 #: templates/js/translated/stock.js:2288 @@ -221,7 +221,7 @@ msgstr "" #: company/models.py:567 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74 +#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 #: part/templates/part/set_category.html:14 report/models.py:190 #: report/models.py:555 report/models.py:594 @@ -229,7 +229,7 @@ msgstr "" #: stock/templates/stock/location.html:94 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 -#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345 +#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 #: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 @@ -248,7 +248,7 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/serializers.py:65 part/models.py:2886 +#: InvenTree/serializers.py:65 part/models.py:2888 msgid "Must be a valid number" msgstr "" @@ -284,20 +284,20 @@ msgstr "" msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:536 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:539 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:623 +#: InvenTree/serializers.py:626 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:632 +#: InvenTree/serializers.py:635 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -617,46 +617,6 @@ msgstr "" msgid "System Information" msgstr "" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "" @@ -683,11 +643,11 @@ msgid "Build Order Reference" msgstr "" #: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2797 +#: order/models.py:869 part/models.py:2799 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793 +#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 #: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 #: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 msgid "Reference" @@ -708,10 +668,10 @@ msgstr "" #: build/models.py:227 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:367 -#: part/models.py:2315 part/models.py:2331 part/models.py:2350 -#: part/models.py:2367 part/models.py:2469 part/models.py:2591 -#: part/models.py:2681 part/models.py:2772 part/models.py:3062 +#: order/models.py:968 order/models.py:1057 part/models.py:369 +#: part/models.py:2317 part/models.py:2333 part/models.py:2352 +#: part/models.py:2369 part/models.py:2471 part/models.py:2593 +#: part/models.py:2683 part/models.py:2774 part/models.py:3064 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -723,9 +683,9 @@ msgstr "" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157 -#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099 -#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492 +#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 +#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 @@ -751,7 +711,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 msgid "Source Location" msgstr "" @@ -792,7 +752,7 @@ msgid "Build status code" msgstr "" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:673 templates/js/translated/order.js:1053 +#: stock/models.py:674 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" @@ -800,7 +760,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:294 order/models.py:134 part/models.py:1007 +#: build/models.py:294 order/models.py:134 part/models.py:1009 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 msgid "Creation Date" msgstr "" @@ -814,7 +774,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "" #: build/models.py:302 order/models.py:280 -#: templates/js/translated/build.js:2489 +#: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "" @@ -822,7 +782,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:316 templates/js/translated/build.js:2457 +#: build/models.py:316 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "" @@ -833,9 +793,9 @@ msgstr "" #: build/models.py:325 build/templates/build/build_base.html:190 #: build/templates/build/detail.html:115 order/models.py:148 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1011 +#: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 msgid "Responsible" msgstr "" @@ -846,7 +806,7 @@ msgstr "" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:667 +#: part/templates/part/part_base.html:346 stock/models.py:668 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "" @@ -856,10 +816,10 @@ msgstr "" #: company/models.py:574 company/templates/company/sidebar.html:25 #: order/models.py:152 order/models.py:871 order/models.py:1178 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:996 +#: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208 +#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 @@ -913,7 +873,7 @@ msgid "Selected stock item not found in BOM" msgstr "" #: build/models.py:1376 stock/templates/stock/item_base.html:329 -#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385 +#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "" @@ -928,7 +888,7 @@ msgstr "" #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 -#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537 +#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 #: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 #: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 @@ -943,11 +903,11 @@ msgstr "" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1568 +#: build/templates/build/detail.html:34 common/models.py:1575 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2788 +#: part/forms.py:142 part/forms.py:158 part/models.py:2790 #: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -961,8 +921,8 @@ msgstr "" #: stock/templates/stock/item_base.html:254 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 #: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179 -#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102 +#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 +#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 @@ -990,7 +950,7 @@ msgid "Destination stock item" msgstr "" #: build/serializers.py:138 build/serializers.py:664 -#: templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" @@ -1016,7 +976,7 @@ msgstr "" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "" @@ -1060,7 +1020,7 @@ msgstr "" #: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 -#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091 +#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 #: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 #: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 @@ -1076,7 +1036,7 @@ msgstr "" #: build/serializers.py:383 build/templates/build/build_base.html:142 #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 -#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441 +#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 #: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 @@ -1139,8 +1099,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912 -#: part/models.py:3054 +#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 +#: part/models.py:3056 msgid "BOM Item" msgstr "" @@ -1279,7 +1239,7 @@ msgstr "" #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 #: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 #: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 msgid "Target Date" @@ -1365,7 +1325,7 @@ msgstr "" #: build/templates/build/detail.html:80 #: stock/templates/stock/item_base.html:315 -#: templates/js/translated/build.js:1183 +#: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 #: templates/js/translated/stock.js:2611 @@ -1377,7 +1337,7 @@ msgstr "" #: build/templates/build/detail.html:126 #: order/templates/order/order_base.html:149 #: order/templates/order/sales_order_base.html:157 -#: templates/js/translated/build.js:2449 +#: templates/js/translated/build.js:2450 msgid "Created" msgstr "" @@ -1397,7 +1357,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915 +#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916 msgid "Unallocate stock" msgstr "" @@ -1694,747 +1654,755 @@ msgid "Enable barcode scanner support" msgstr "" #: common/models.py:846 -msgid "IPN Regex" +msgid "Barcode Webcam Support" msgstr "" #: common/models.py:847 +msgid "Allow barcode scanning via webcam in browser" +msgstr "" + +#: common/models.py:853 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:854 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:851 +#: common/models.py:858 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:852 +#: common/models.py:859 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:858 +#: common/models.py:865 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:859 +#: common/models.py:866 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:865 +#: common/models.py:872 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:866 +#: common/models.py:873 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:872 +#: common/models.py:879 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:873 +#: common/models.py:880 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:886 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:880 +#: common/models.py:887 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:886 +#: common/models.py:893 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:887 +#: common/models.py:894 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:893 part/models.py:2593 report/models.py:183 +#: common/models.py:900 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:894 +#: common/models.py:901 msgid "Parts are templates by default" msgstr "" -#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335 +#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:901 +#: common/models.py:908 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:907 part/models.py:965 +#: common/models.py:914 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:908 +#: common/models.py:915 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:914 part/models.py:976 +#: common/models.py:921 part/models.py:978 msgid "Purchaseable" msgstr "" -#: common/models.py:915 +#: common/models.py:922 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:921 part/models.py:981 +#: common/models.py:928 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:922 +#: common/models.py:929 msgid "Parts are salable by default" msgstr "" -#: common/models.py:928 part/models.py:971 +#: common/models.py:935 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:929 +#: common/models.py:936 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:935 part/models.py:991 +#: common/models.py:942 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:936 +#: common/models.py:943 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:942 +#: common/models.py:949 msgid "Show Import in Views" msgstr "" -#: common/models.py:943 +#: common/models.py:950 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:949 +#: common/models.py:956 msgid "Show Price in Forms" msgstr "" -#: common/models.py:950 +#: common/models.py:957 msgid "Display part price in some forms" msgstr "" -#: common/models.py:961 +#: common/models.py:968 msgid "Show Price in BOM" msgstr "" -#: common/models.py:962 +#: common/models.py:969 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:973 +#: common/models.py:980 msgid "Show Price History" msgstr "" -#: common/models.py:974 +#: common/models.py:981 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:980 +#: common/models.py:987 msgid "Show related parts" msgstr "" -#: common/models.py:981 +#: common/models.py:988 msgid "Display related parts for a part" msgstr "" -#: common/models.py:987 +#: common/models.py:994 msgid "Create initial stock" msgstr "" -#: common/models.py:988 +#: common/models.py:995 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:994 +#: common/models.py:1001 msgid "Internal Prices" msgstr "" -#: common/models.py:995 +#: common/models.py:1002 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1001 +#: common/models.py:1008 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1002 +#: common/models.py:1009 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1008 +#: common/models.py:1015 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1009 +#: common/models.py:1016 msgid "Format to display the part name" msgstr "" -#: common/models.py:1016 +#: common/models.py:1023 msgid "Enable Reports" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1023 templates/stats.html:25 +#: common/models.py:1030 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1024 +#: common/models.py:1031 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1030 +#: common/models.py:1037 msgid "Page Size" msgstr "" -#: common/models.py:1031 +#: common/models.py:1038 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Test Reports" msgstr "" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Batch Code Template" msgstr "" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1054 +#: common/models.py:1061 msgid "Stock Expiry" msgstr "" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1061 +#: common/models.py:1068 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1068 +#: common/models.py:1075 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1071 +#: common/models.py:1078 msgid "days" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1084 +#: common/models.py:1091 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1096 +#: common/models.py:1103 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1101 +#: common/models.py:1108 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1102 +#: common/models.py:1109 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1108 +#: common/models.py:1115 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Enable password forgot" msgstr "" -#: common/models.py:1115 +#: common/models.py:1122 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable registration" msgstr "" -#: common/models.py:1122 +#: common/models.py:1129 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable SSO" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Email required" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1143 +#: common/models.py:1150 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Mail twice" msgstr "" -#: common/models.py:1150 +#: common/models.py:1157 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Password twice" msgstr "" -#: common/models.py:1157 +#: common/models.py:1164 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1163 +#: common/models.py:1170 msgid "Group on signup" msgstr "" -#: common/models.py:1164 +#: common/models.py:1171 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1170 +#: common/models.py:1177 msgid "Enforce MFA" msgstr "" -#: common/models.py:1171 +#: common/models.py:1178 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1178 +#: common/models.py:1185 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1186 +#: common/models.py:1193 msgid "Enable URL integration" msgstr "" -#: common/models.py:1187 +#: common/models.py:1194 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1194 +#: common/models.py:1201 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1195 +#: common/models.py:1202 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Enable app integration" msgstr "" -#: common/models.py:1203 +#: common/models.py:1210 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1210 +#: common/models.py:1217 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1211 +#: common/models.py:1218 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1218 +#: common/models.py:1225 msgid "Enable event integration" msgstr "" -#: common/models.py:1219 +#: common/models.py:1226 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1234 common/models.py:1528 +#: common/models.py:1241 common/models.py:1535 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1266 +#: common/models.py:1273 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Show latest parts" msgstr "" -#: common/models.py:1280 +#: common/models.py:1287 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1286 +#: common/models.py:1293 msgid "Recent Part Count" msgstr "" -#: common/models.py:1287 +#: common/models.py:1294 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1293 +#: common/models.py:1300 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1294 +#: common/models.py:1301 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1300 +#: common/models.py:1307 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1301 +#: common/models.py:1308 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Show low stock" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Show depleted stock" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1335 msgid "Show needed stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Show expired stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Show stale stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Show pending builds" msgstr "" -#: common/models.py:1350 +#: common/models.py:1357 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Show overdue builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1364 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1377 msgid "Show overdue POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1390 +#: common/models.py:1397 msgid "Enable label printing" msgstr "" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Inline label display" msgstr "" -#: common/models.py:1398 +#: common/models.py:1405 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1404 +#: common/models.py:1411 msgid "Inline report display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Search Parts" msgstr "" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Search Categories" msgstr "" -#: common/models.py:1419 +#: common/models.py:1426 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1432 msgid "Search Stock" msgstr "" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Search Locations" msgstr "" -#: common/models.py:1433 +#: common/models.py:1440 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1446 msgid "Search Companies" msgstr "" -#: common/models.py:1440 +#: common/models.py:1447 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1453 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1460 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1467 msgid "Search Preview Results" msgstr "" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1474 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1468 +#: common/models.py:1475 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1481 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1481 +#: common/models.py:1488 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1495 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1489 +#: common/models.py:1496 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1495 +#: common/models.py:1502 msgid "Date Format" msgstr "" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1510 part/templates/part/detail.html:39 +#: common/models.py:1517 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1569 company/forms.py:43 +#: common/models.py:1576 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1576 company/serializers.py:264 +#: common/models.py:1583 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1734 common/models.py:1873 +#: common/models.py:1741 common/models.py:1880 msgid "Endpoint" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Name for this webhook" msgstr "" -#: common/models.py:1749 part/models.py:986 plugin/models.py:47 +#: common/models.py:1756 part/models.py:988 plugin/models.py:47 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2442,67 +2410,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1750 +#: common/models.py:1757 msgid "Is this webhook active" msgstr "" -#: common/models.py:1764 +#: common/models.py:1771 msgid "Token" msgstr "" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Token for access" msgstr "" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Secret" msgstr "" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1840 +#: common/models.py:1847 msgid "Message ID" msgstr "" -#: common/models.py:1841 +#: common/models.py:1848 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Host" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Header" msgstr "" -#: common/models.py:1858 +#: common/models.py:1865 msgid "Header of this message" msgstr "" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Body" msgstr "" -#: common/models.py:1865 +#: common/models.py:1872 msgid "Body of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1879 +#: common/models.py:1886 msgid "Worked on" msgstr "" -#: common/models.py:1880 +#: common/models.py:1887 msgid "Was the work on this message finished?" msgstr "" @@ -2601,7 +2569,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:878 +#: company/models.py:139 part/models.py:880 msgid "Image" msgstr "" @@ -2639,7 +2607,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:611 +#: company/models.py:317 company/models.py:532 stock/models.py:612 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "" @@ -2696,7 +2664,7 @@ msgstr "" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:647 +#: stock/models.py:2198 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2705,9 +2673,9 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:953 part/models.py:2561 +#: company/models.py:426 part/models.py:955 part/models.py:2563 #: part/templates/part/part_base.html:280 -#: templates/InvenTree/settings/settings.html:328 +#: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "" @@ -2758,22 +2726,22 @@ msgid "Supplier part description" msgstr "" #: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2800 part/templates/part/upload_bom.html:59 +#: part/models.py:2802 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 msgid "Note" msgstr "" -#: company/models.py:577 part/models.py:1871 +#: company/models.py:577 part/models.py:1873 msgid "base cost" msgstr "" -#: company/models.py:577 part/models.py:1871 +#: company/models.py:577 part/models.py:1873 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:635 stock/templates/stock/item_base.html:322 +#: stock/models.py:636 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" @@ -2782,7 +2750,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:581 part/models.py:1873 +#: company/models.py:581 part/models.py:1875 msgid "multiple" msgstr "" @@ -2846,8 +2814,8 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:654 -#: stock/models.py:655 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:655 +#: stock/models.py:656 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 #: templates/js/translated/stock.js:2436 @@ -2973,7 +2941,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/detail.html:167 -#: templates/js/translated/build.js:1674 +#: templates/js/translated/build.js:1675 msgid "Assigned Stock" msgstr "" @@ -3098,7 +3066,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:619 +#: company/templates/company/supplier_part.html:24 stock/models.py:620 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3263,7 +3231,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: label/api.py:97 report/api.py:203 +#: label/api.py:96 report/api.py:203 msgid "No valid objects provided to template" msgstr "" @@ -3514,7 +3482,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3867,7 +3835,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 -#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988 +#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 @@ -3984,7 +3952,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896 +#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 msgid "Actions" msgstr "" @@ -4058,7 +4026,7 @@ msgstr "" msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:112 part/models.py:887 +#: part/bom.py:125 part/models.py:114 part/models.py:889 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" @@ -4094,30 +4062,30 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:113 +#: part/models.py:115 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:116 +#: part/models.py:118 msgid "Default keywords" msgstr "" -#: part/models.py:116 +#: part/models.py:118 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 +#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:127 part/templates/part/category.html:128 +#: part/models.py:129 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:368 part/templates/part/cat_link.html:3 +#: part/models.py:370 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4128,415 +4096,415 @@ msgstr "" msgid "Parts" msgstr "" -#: part/models.py:460 +#: part/models.py:462 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:535 part/models.py:547 +#: part/models.py:537 part/models.py:549 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:677 +#: part/models.py:679 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:681 +#: part/models.py:683 msgid "Next available serial number is" msgstr "" -#: part/models.py:686 +#: part/models.py:688 msgid "Most recent serial number is" msgstr "" -#: part/models.py:782 +#: part/models.py:784 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 part/models.py:2690 +#: part/models.py:813 part/models.py:2692 msgid "Part name" msgstr "" -#: part/models.py:818 +#: part/models.py:820 msgid "Is Template" msgstr "" -#: part/models.py:819 +#: part/models.py:821 msgid "Is this part a template part?" msgstr "" -#: part/models.py:829 +#: part/models.py:831 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:830 +#: part/models.py:832 msgid "Variant Of" msgstr "" -#: part/models.py:836 +#: part/models.py:838 msgid "Part description" msgstr "" -#: part/models.py:841 part/templates/part/category.html:86 +#: part/models.py:843 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:842 +#: part/models.py:844 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:849 part/models.py:2387 part/models.py:2636 +#: part/models.py:851 part/models.py:2389 part/models.py:2638 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 -#: templates/InvenTree/settings/settings.html:227 +#: templates/InvenTree/settings/settings.html:231 #: templates/js/translated/part.js:1369 msgid "Category" msgstr "" -#: part/models.py:850 +#: part/models.py:852 msgid "Part category" msgstr "" -#: part/models.py:855 part/templates/part/part_base.html:266 +#: part/models.py:857 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:856 +#: part/models.py:858 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:864 msgid "Part revision or version number" msgstr "" -#: part/models.py:863 part/templates/part/part_base.html:273 +#: part/models.py:865 part/templates/part/part_base.html:273 #: report/models.py:196 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:885 +#: part/models.py:887 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:932 part/templates/part/part_base.html:339 +#: part/models.py:934 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:933 +#: part/models.py:935 msgid "Default supplier part" msgstr "" -#: part/models.py:940 +#: part/models.py:942 msgid "Default Expiry" msgstr "" -#: part/models.py:941 +#: part/models.py:943 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:946 part/templates/part/part_base.html:200 +#: part/models.py:948 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:947 +#: part/models.py:949 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:954 +#: part/models.py:956 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:960 +#: part/models.py:962 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:966 +#: part/models.py:968 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:972 +#: part/models.py:974 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:977 +#: part/models.py:979 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:982 +#: part/models.py:984 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:987 +#: part/models.py:989 msgid "Is this part active?" msgstr "" -#: part/models.py:992 +#: part/models.py:994 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:997 +#: part/models.py:999 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1000 +#: part/models.py:1002 msgid "BOM checksum" msgstr "" -#: part/models.py:1000 +#: part/models.py:1002 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1003 +#: part/models.py:1005 msgid "BOM checked by" msgstr "" -#: part/models.py:1005 +#: part/models.py:1007 msgid "BOM checked date" msgstr "" -#: part/models.py:1009 +#: part/models.py:1011 msgid "Creation User" msgstr "" -#: part/models.py:1873 +#: part/models.py:1875 msgid "Sell multiple" msgstr "" -#: part/models.py:2437 +#: part/models.py:2439 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2454 +#: part/models.py:2456 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2474 templates/js/translated/part.js:1819 +#: part/models.py:2476 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2475 +#: part/models.py:2477 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2480 +#: part/models.py:2482 msgid "Test Description" msgstr "" -#: part/models.py:2481 +#: part/models.py:2483 msgid "Enter description for this test" msgstr "" -#: part/models.py:2486 templates/js/translated/part.js:1828 +#: part/models.py:2488 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2487 +#: part/models.py:2489 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2492 templates/js/translated/part.js:1836 +#: part/models.py:2494 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2493 +#: part/models.py:2495 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2498 templates/js/translated/part.js:1843 +#: part/models.py:2500 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2499 +#: part/models.py:2501 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2510 +#: part/models.py:2512 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2546 +#: part/models.py:2548 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2554 +#: part/models.py:2556 msgid "Parameter Name" msgstr "" -#: part/models.py:2561 +#: part/models.py:2563 msgid "Parameter Units" msgstr "" -#: part/models.py:2591 +#: part/models.py:2593 msgid "Parent Part" msgstr "" -#: part/models.py:2593 part/models.py:2642 part/models.py:2643 -#: templates/InvenTree/settings/settings.html:222 +#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2595 +#: part/models.py:2597 msgid "Data" msgstr "" -#: part/models.py:2595 +#: part/models.py:2597 msgid "Parameter Value" msgstr "" -#: part/models.py:2647 templates/InvenTree/settings/settings.html:231 +#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2648 +#: part/models.py:2650 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2682 +#: part/models.py:2684 msgid "Part ID or part name" msgstr "" -#: part/models.py:2685 templates/js/translated/model_renderers.js:200 +#: part/models.py:2687 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2686 +#: part/models.py:2688 msgid "Unique part ID value" msgstr "" -#: part/models.py:2689 +#: part/models.py:2691 msgid "Part Name" msgstr "" -#: part/models.py:2693 +#: part/models.py:2695 msgid "Part IPN" msgstr "" -#: part/models.py:2694 +#: part/models.py:2696 msgid "Part IPN value" msgstr "" -#: part/models.py:2697 +#: part/models.py:2699 msgid "Level" msgstr "" -#: part/models.py:2698 +#: part/models.py:2700 msgid "BOM level" msgstr "" -#: part/models.py:2773 +#: part/models.py:2775 msgid "Select parent part" msgstr "" -#: part/models.py:2781 +#: part/models.py:2783 msgid "Sub part" msgstr "" -#: part/models.py:2782 +#: part/models.py:2784 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2788 +#: part/models.py:2790 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: part/models.py:2792 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2790 +#: part/models.py:2792 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2793 part/templates/part/upload_bom.html:55 +#: part/models.py:2795 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2794 +#: part/models.py:2796 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2797 +#: part/models.py:2799 msgid "BOM item reference" msgstr "" -#: part/models.py:2800 +#: part/models.py:2802 msgid "BOM item notes" msgstr "" -#: part/models.py:2802 +#: part/models.py:2804 msgid "Checksum" msgstr "" -#: part/models.py:2802 +#: part/models.py:2804 msgid "BOM line checksum" msgstr "" -#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: part/models.py:2808 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:927 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2807 +#: part/models.py:2809 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: part/models.py:2814 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:919 msgid "Allow Variants" msgstr "" -#: part/models.py:2813 +#: part/models.py:2815 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2898 stock/models.py:497 +#: part/models.py:2900 stock/models.py:498 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2907 part/models.py:2909 +#: part/models.py:2909 part/models.py:2911 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3021 +#: part/models.py:3023 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3043 +#: part/models.py:3045 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3055 +#: part/models.py:3057 msgid "Parent BOM item" msgstr "" -#: part/models.py:3063 +#: part/models.py:3065 msgid "Substitute part" msgstr "" -#: part/models.py:3074 +#: part/models.py:3076 msgid "Part 1" msgstr "" -#: part/models.py:3078 +#: part/models.py:3080 msgid "Part 2" msgstr "" -#: part/models.py:3078 +#: part/models.py:3080 msgid "Select Related Part" msgstr "" -#: part/models.py:3110 +#: part/models.py:3112 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -5490,6 +5458,46 @@ msgstr "" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" +#: plugin/barcode.py:53 plugin/barcode.py:154 +msgid "Must provide barcode_data parameter" +msgstr "" + +#: plugin/barcode.py:130 +msgid "No match found for barcode data" +msgstr "" + +#: plugin/barcode.py:132 +msgid "Match found for barcode data" +msgstr "" + +#: plugin/barcode.py:157 +msgid "Must provide stockitem parameter" +msgstr "" + +#: plugin/barcode.py:164 +msgid "No matching stock item found" +msgstr "" + +#: plugin/barcode.py:195 +msgid "Barcode already matches Stock Item" +msgstr "" + +#: plugin/barcode.py:199 +msgid "Barcode already matches Stock Location" +msgstr "" + +#: plugin/barcode.py:203 +msgid "Barcode already matches Part" +msgstr "" + +#: plugin/barcode.py:209 plugin/barcode.py:221 +msgid "Barcode hash already matches Stock Item" +msgstr "" + +#: plugin/barcode.py:227 +msgid "Barcode associated with Stock Item" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5508,7 +5516,7 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:222 +#: plugin/events.py:226 msgid "Label printing failed" msgstr "" @@ -5718,9 +5726,9 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:659 stock/templates/stock/item_base.html:156 +#: stock/models.py:660 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 -#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687 +#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 #: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 #: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 @@ -5732,12 +5740,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2186 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2192 msgid "Result" msgstr "" @@ -5779,237 +5787,237 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:93 stock/models.py:754 +#: stock/models.py:94 stock/models.py:755 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:95 stock/models.py:756 msgid "Select Owner" msgstr "" -#: stock/models.py:470 +#: stock/models.py:471 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:514 +#: stock/models.py:515 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:524 stock/models.py:533 +#: stock/models.py:525 stock/models.py:534 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:525 +#: stock/models.py:526 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:547 +#: stock/models.py:548 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:553 +#: stock/models.py:554 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:560 +#: stock/models.py:561 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:603 +#: stock/models.py:604 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:612 +#: stock/models.py:613 msgid "Base part" msgstr "" -#: stock/models.py:620 +#: stock/models.py:621 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:626 stock/templates/stock/location.html:16 +#: stock/models.py:627 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:629 +#: stock/models.py:630 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:636 +#: stock/models.py:637 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:642 stock/templates/stock/item_base.html:282 +#: stock/models.py:643 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "" -#: stock/models.py:645 +#: stock/models.py:646 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:661 +#: stock/models.py:662 msgid "Serial number for this item" msgstr "" -#: stock/models.py:675 +#: stock/models.py:676 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:680 +#: stock/models.py:681 msgid "Stock Quantity" msgstr "" -#: stock/models.py:689 +#: stock/models.py:690 msgid "Source Build" msgstr "" -#: stock/models.py:691 +#: stock/models.py:692 msgid "Build for this stock item" msgstr "" -#: stock/models.py:702 +#: stock/models.py:703 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:705 +#: stock/models.py:706 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:711 +#: stock/models.py:712 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:717 stock/templates/stock/item_base.html:193 +#: stock/models.py:718 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:718 +#: stock/models.py:719 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:731 +#: stock/models.py:732 msgid "Delete on deplete" msgstr "" -#: stock/models.py:731 +#: stock/models.py:732 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:741 stock/templates/stock/item.html:137 +#: stock/models.py:742 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:750 +#: stock/models.py:751 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:782 +#: stock/models.py:783 msgid "Converted to part" msgstr "" -#: stock/models.py:1302 +#: stock/models.py:1303 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1308 +#: stock/models.py:1309 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1314 +#: stock/models.py:1315 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1318 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1320 +#: stock/models.py:1321 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1328 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1398 +#: stock/models.py:1399 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1401 +#: stock/models.py:1402 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1404 +#: stock/models.py:1405 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1407 +#: stock/models.py:1408 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1410 +#: stock/models.py:1411 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1413 +#: stock/models.py:1414 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1420 stock/serializers.py:874 +#: stock/models.py:1421 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1425 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1429 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1433 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1604 +#: stock/models.py:1605 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:2106 msgid "Entry notes" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2163 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2169 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2187 msgid "Test name" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2193 msgid "Test result" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2199 msgid "Test output value" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2206 msgid "Test result attachment" msgstr "" -#: stock/models.py:2209 +#: stock/models.py:2212 msgid "Test notes" msgstr "" @@ -6329,7 +6337,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua msgstr "" #: stock/templates/stock/item_base.html:301 -#: templates/js/translated/build.js:1709 +#: templates/js/translated/build.js:1710 msgid "No location set" msgstr "" @@ -6687,7 +6695,7 @@ msgid "Notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:51 -#: templates/InvenTree/settings/settings.html:317 +#: templates/InvenTree/settings/settings.html:321 msgid "ID" msgstr "" @@ -6945,28 +6953,32 @@ msgid "Edit Plugin Setting" msgstr "" #: templates/InvenTree/settings/settings.html:121 +msgid "Edit Notification Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:124 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings.html:126 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:212 +#: templates/InvenTree/settings/settings.html:216 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:234 -#: templates/InvenTree/settings/settings.html:333 +#: templates/InvenTree/settings/settings.html:238 +#: templates/InvenTree/settings/settings.html:337 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:235 -#: templates/InvenTree/settings/settings.html:334 +#: templates/InvenTree/settings/settings.html:239 +#: templates/InvenTree/settings/settings.html:338 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:313 +#: templates/InvenTree/settings/settings.html:317 msgid "No part parameter templates found" msgstr "" @@ -7546,8 +7558,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803 -#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527 +#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 msgid "Available" @@ -7874,24 +7886,24 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785 +#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830 +#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834 +#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836 +#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838 +#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" @@ -7931,7 +7943,7 @@ msgstr "" msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631 +#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" @@ -7939,7 +7951,7 @@ msgstr "" msgid "Are you sure you want to delete this BOM item?" msgstr "" -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" @@ -8065,166 +8077,166 @@ msgstr "" msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1137 +#: templates/js/translated/build.js:1138 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1206 +#: templates/js/translated/build.js:1207 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1214 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1235 +#: templates/js/translated/build.js:1236 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1240 +#: templates/js/translated/build.js:1241 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555 +#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 #: templates/js/translated/order.js:2881 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556 +#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 #: templates/js/translated/order.js:2882 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1746 +#: templates/js/translated/build.js:1747 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1756 +#: templates/js/translated/build.js:1757 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1781 +#: templates/js/translated/build.js:1782 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1798 +#: templates/js/translated/build.js:1799 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1824 +#: templates/js/translated/build.js:1825 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1826 +#: templates/js/translated/build.js:1827 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:1907 templates/stock_table.html:50 +#: templates/js/translated/build.js:1908 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172 +#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 #: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2073 +#: templates/js/translated/build.js:2074 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2074 +#: templates/js/translated/build.js:2075 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2116 +#: templates/js/translated/build.js:2117 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2296 +#: templates/js/translated/build.js:2297 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2297 +#: templates/js/translated/build.js:2298 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2299 +#: templates/js/translated/build.js:2300 msgid "If a location is specifed, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2300 +#: templates/js/translated/build.js:2301 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2301 +#: templates/js/translated/build.js:2302 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2322 +#: templates/js/translated/build.js:2323 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2362 +#: templates/js/translated/build.js:2363 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314 +#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314 #: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629 #: templates/js/translated/stock.js:2282 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2400 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2427 +#: templates/js/translated/build.js:2428 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524 +#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2476 msgid "No information" msgstr "" -#: templates/js/translated/build.js:2532 +#: templates/js/translated/build.js:2533 msgid "No parts allocated for" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index 9331904782..84b66ff042 100644 --- a/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/InvenTree/locale/es/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-10 04:16+0000\n" -"PO-Revision-Date: 2022-05-11 00:29\n" +"POT-Creation-Date: 2022-05-15 23:30+0000\n" +"PO-Revision-Date: 2022-05-16 01:10\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -17,18 +17,10 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:53 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "" - #: InvenTree/fields.py:100 msgid "Enter date" msgstr "" @@ -128,7 +120,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2212 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "" @@ -146,7 +138,7 @@ msgid "Link" msgstr "" #: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: stock/models.py:677 msgid "Link to external URL" msgstr "" @@ -158,10 +150,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 +#: common/models.py:1547 common/models.py:1778 common/models.py:1779 +#: common/models.py:2006 common/models.py:2007 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -200,9 +192,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 #: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: part/models.py:2555 plugin/models.py:43 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -230,8 +222,8 @@ msgstr "" #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -440,7 +432,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "" @@ -616,46 +608,6 @@ msgstr "" msgid "System Information" msgstr "" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "" @@ -687,8 +639,8 @@ msgstr "" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 +#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 msgid "Reference" msgstr "" @@ -727,8 +679,8 @@ msgstr "" #: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -750,7 +702,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" @@ -791,7 +743,7 @@ msgid "Build status code" msgstr "" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: stock/models.py:681 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" @@ -800,7 +752,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" @@ -834,7 +786,7 @@ msgstr "" #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" @@ -845,7 +797,7 @@ msgstr "" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 +#: part/templates/part/part_base.html:346 stock/models.py:675 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "" @@ -858,14 +810,14 @@ msgstr "" #: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 +#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "" @@ -928,9 +880,9 @@ msgstr "" #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" @@ -942,7 +894,7 @@ msgstr "" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 +#: build/templates/build/detail.html:34 common/models.py:1589 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 @@ -964,10 +916,10 @@ msgstr "" #: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -1015,7 +967,7 @@ msgstr "" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "" @@ -1060,8 +1012,8 @@ msgstr "" #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 @@ -1076,8 +1028,8 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "" @@ -1278,9 +1230,9 @@ msgstr "" #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "" @@ -1314,7 +1266,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1350,7 +1302,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1592,856 +1544,856 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:387 +#: common/models.py:401 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:389 +#: common/models.py:403 msgid "Settings value" msgstr "" -#: common/models.py:430 +#: common/models.py:444 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:450 +#: common/models.py:464 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:461 +#: common/models.py:475 msgid "Value must be an integer value" msgstr "" -#: common/models.py:510 +#: common/models.py:524 msgid "Key string must be unique" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "No group" msgstr "" -#: common/models.py:784 +#: common/models.py:788 msgid "Restart required" msgstr "" -#: common/models.py:785 +#: common/models.py:789 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:792 +#: common/models.py:796 msgid "Server Instance Name" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:798 +#: common/models.py:802 msgid "Use instance name" msgstr "" -#: common/models.py:799 +#: common/models.py:803 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:805 +#: common/models.py:809 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:816 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Internal company name" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Base URL" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Base URL for server instance" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Default Currency" msgstr "" -#: common/models.py:826 +#: common/models.py:830 msgid "Default currency" msgstr "" -#: common/models.py:832 +#: common/models.py:836 msgid "Download from URL" msgstr "" -#: common/models.py:833 +#: common/models.py:837 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:840 +#: common/models.py:844 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:846 +#: common/models.py:850 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:851 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:857 msgid "IPN Regex" msgstr "" -#: common/models.py:854 +#: common/models.py:858 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:858 +#: common/models.py:862 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:859 +#: common/models.py:863 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:865 +#: common/models.py:869 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:866 +#: common/models.py:870 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:872 +#: common/models.py:876 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:873 +#: common/models.py:877 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:883 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:880 +#: common/models.py:884 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:886 +#: common/models.py:890 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:887 +#: common/models.py:891 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:893 +#: common/models.py:897 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:894 +#: common/models.py:898 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:904 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:901 +#: common/models.py:905 msgid "Parts are templates by default" msgstr "" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:908 +#: common/models.py:912 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:914 part/models.py:967 +#: common/models.py:918 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:915 +#: common/models.py:919 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:921 part/models.py:978 +#: common/models.py:925 part/models.py:978 msgid "Purchaseable" msgstr "" -#: common/models.py:922 +#: common/models.py:926 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:928 part/models.py:983 +#: common/models.py:932 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:929 +#: common/models.py:933 msgid "Parts are salable by default" msgstr "" -#: common/models.py:935 part/models.py:973 +#: common/models.py:939 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:936 +#: common/models.py:940 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:942 part/models.py:993 +#: common/models.py:946 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:943 +#: common/models.py:947 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:949 +#: common/models.py:953 msgid "Show Import in Views" msgstr "" -#: common/models.py:950 +#: common/models.py:954 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:956 +#: common/models.py:960 msgid "Show Price in Forms" msgstr "" -#: common/models.py:957 +#: common/models.py:961 msgid "Display part price in some forms" msgstr "" -#: common/models.py:968 +#: common/models.py:972 msgid "Show Price in BOM" msgstr "" -#: common/models.py:969 +#: common/models.py:973 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:980 +#: common/models.py:984 msgid "Show Price History" msgstr "" -#: common/models.py:981 +#: common/models.py:985 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:987 +#: common/models.py:991 msgid "Show related parts" msgstr "" -#: common/models.py:988 +#: common/models.py:992 msgid "Display related parts for a part" msgstr "" -#: common/models.py:994 +#: common/models.py:998 msgid "Create initial stock" msgstr "" -#: common/models.py:995 +#: common/models.py:999 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1001 +#: common/models.py:1005 msgid "Internal Prices" msgstr "" -#: common/models.py:1002 +#: common/models.py:1006 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1008 +#: common/models.py:1012 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1009 +#: common/models.py:1013 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1015 +#: common/models.py:1019 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1016 +#: common/models.py:1020 msgid "Format to display the part name" msgstr "" -#: common/models.py:1023 +#: common/models.py:1027 msgid "Enable Reports" msgstr "" -#: common/models.py:1024 +#: common/models.py:1028 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1034 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1031 +#: common/models.py:1035 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1037 +#: common/models.py:1041 msgid "Page Size" msgstr "" -#: common/models.py:1038 +#: common/models.py:1042 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1048 +#: common/models.py:1052 msgid "Test Reports" msgstr "" -#: common/models.py:1049 +#: common/models.py:1053 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1055 +#: common/models.py:1059 msgid "Batch Code Template" msgstr "" -#: common/models.py:1056 +#: common/models.py:1060 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1061 +#: common/models.py:1065 msgid "Stock Expiry" msgstr "" -#: common/models.py:1062 +#: common/models.py:1066 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1068 +#: common/models.py:1072 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1069 +#: common/models.py:1073 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1075 +#: common/models.py:1079 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1076 +#: common/models.py:1080 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1078 +#: common/models.py:1082 msgid "days" msgstr "" -#: common/models.py:1083 +#: common/models.py:1087 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1084 +#: common/models.py:1088 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1090 +#: common/models.py:1094 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1091 +#: common/models.py:1095 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1097 +#: common/models.py:1101 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1098 +#: common/models.py:1102 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1103 +#: common/models.py:1107 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1104 +#: common/models.py:1108 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1108 +#: common/models.py:1112 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1109 +#: common/models.py:1113 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1118 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1115 +#: common/models.py:1119 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1121 +#: common/models.py:1125 msgid "Enable password forgot" msgstr "" -#: common/models.py:1122 +#: common/models.py:1126 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1128 +#: common/models.py:1132 msgid "Enable registration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1133 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1135 +#: common/models.py:1139 msgid "Enable SSO" msgstr "" -#: common/models.py:1136 +#: common/models.py:1140 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1142 +#: common/models.py:1146 msgid "Email required" msgstr "" -#: common/models.py:1143 +#: common/models.py:1147 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1149 +#: common/models.py:1153 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1150 +#: common/models.py:1154 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1156 +#: common/models.py:1160 msgid "Mail twice" msgstr "" -#: common/models.py:1157 +#: common/models.py:1161 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1163 +#: common/models.py:1167 msgid "Password twice" msgstr "" -#: common/models.py:1164 +#: common/models.py:1168 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1170 +#: common/models.py:1174 msgid "Group on signup" msgstr "" -#: common/models.py:1171 +#: common/models.py:1175 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1177 +#: common/models.py:1181 msgid "Enforce MFA" msgstr "" -#: common/models.py:1178 +#: common/models.py:1182 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1184 +#: common/models.py:1188 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1185 +#: common/models.py:1189 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1193 +#: common/models.py:1197 msgid "Enable URL integration" msgstr "" -#: common/models.py:1194 +#: common/models.py:1198 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1201 +#: common/models.py:1205 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1202 +#: common/models.py:1206 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1209 +#: common/models.py:1213 msgid "Enable app integration" msgstr "" -#: common/models.py:1210 +#: common/models.py:1214 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1217 +#: common/models.py:1221 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1218 +#: common/models.py:1222 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1225 +#: common/models.py:1229 msgid "Enable event integration" msgstr "" -#: common/models.py:1226 +#: common/models.py:1230 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1245 common/models.py:1539 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1272 +#: common/models.py:1276 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1273 +#: common/models.py:1277 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1279 +#: common/models.py:1283 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1280 +#: common/models.py:1284 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1286 +#: common/models.py:1290 msgid "Show latest parts" msgstr "" -#: common/models.py:1287 +#: common/models.py:1291 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1293 +#: common/models.py:1297 msgid "Recent Part Count" msgstr "" -#: common/models.py:1294 +#: common/models.py:1298 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1300 +#: common/models.py:1304 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1301 +#: common/models.py:1305 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1311 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1308 +#: common/models.py:1312 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1314 +#: common/models.py:1318 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1315 +#: common/models.py:1319 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1321 +#: common/models.py:1325 msgid "Show low stock" msgstr "" -#: common/models.py:1322 +#: common/models.py:1326 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1332 msgid "Show depleted stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1333 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1339 msgid "Show needed stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1340 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1346 msgid "Show expired stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1347 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1353 msgid "Show stale stock" msgstr "" -#: common/models.py:1350 +#: common/models.py:1354 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1360 msgid "Show pending builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1361 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1367 msgid "Show overdue builds" msgstr "" -#: common/models.py:1364 +#: common/models.py:1368 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1374 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1375 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1381 msgid "Show overdue POs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1382 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1388 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1389 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1391 +#: common/models.py:1395 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1392 +#: common/models.py:1396 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1397 +#: common/models.py:1401 msgid "Enable label printing" msgstr "" -#: common/models.py:1398 +#: common/models.py:1402 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1404 +#: common/models.py:1408 msgid "Inline label display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1409 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1415 msgid "Inline report display" msgstr "" -#: common/models.py:1412 +#: common/models.py:1416 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1418 +#: common/models.py:1422 msgid "Search Parts" msgstr "" -#: common/models.py:1419 +#: common/models.py:1423 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1429 msgid "Search Categories" msgstr "" -#: common/models.py:1426 +#: common/models.py:1430 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1436 msgid "Search Stock" msgstr "" -#: common/models.py:1433 +#: common/models.py:1437 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1443 msgid "Search Locations" msgstr "" -#: common/models.py:1440 +#: common/models.py:1444 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1450 msgid "Search Companies" msgstr "" -#: common/models.py:1447 +#: common/models.py:1451 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1457 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1458 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1464 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1461 +#: common/models.py:1465 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1471 msgid "Search Preview Results" msgstr "" -#: common/models.py:1468 +#: common/models.py:1472 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1478 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1475 +#: common/models.py:1479 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1481 +#: common/models.py:1485 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1482 +#: common/models.py:1486 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1492 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1489 +#: common/models.py:1493 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1495 +#: common/models.py:1499 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1496 +#: common/models.py:1500 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1502 +#: common/models.py:1506 msgid "Date Format" msgstr "" -#: common/models.py:1503 +#: common/models.py:1507 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1521 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1518 +#: common/models.py:1522 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1590 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1583 company/serializers.py:264 +#: common/models.py:1597 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1584 +#: common/models.py:1598 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1755 common/models.py:1892 msgid "Endpoint" msgstr "" -#: common/models.py:1742 +#: common/models.py:1756 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1751 +#: common/models.py:1765 msgid "Name for this webhook" msgstr "" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1770 part/models.py:988 plugin/models.py:49 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2449,67 +2401,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1757 +#: common/models.py:1771 msgid "Is this webhook active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1785 msgid "Token" msgstr "" -#: common/models.py:1772 +#: common/models.py:1786 msgid "Token for access" msgstr "" -#: common/models.py:1779 +#: common/models.py:1793 msgid "Secret" msgstr "" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1847 +#: common/models.py:1859 msgid "Message ID" msgstr "" -#: common/models.py:1848 +#: common/models.py:1860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Host" msgstr "" -#: common/models.py:1857 +#: common/models.py:1869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Header" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Header of this message" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Body" msgstr "" -#: common/models.py:1872 +#: common/models.py:1884 msgid "Body of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1893 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Worked on" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Was the work on this message finished?" msgstr "" @@ -2646,7 +2598,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:612 +#: company/models.py:317 company/models.py:532 stock/models.py:619 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "" @@ -2673,7 +2625,7 @@ msgstr "" #: company/models.py:339 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" @@ -2703,7 +2655,7 @@ msgstr "" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2205 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2732,7 +2684,7 @@ msgstr "" #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2743,7 +2695,7 @@ msgid "Select supplier" msgstr "" #: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" @@ -2780,7 +2732,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: stock/models.py:643 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" @@ -2853,10 +2805,10 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:662 +#: stock/models.py:663 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -3105,7 +3057,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 +#: company/templates/company/supplier_part.html:24 stock/models.py:627 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3372,7 +3324,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" @@ -3429,7 +3381,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "" #: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" @@ -3491,7 +3443,7 @@ msgstr "" #: order/models.py:949 order/models.py:1031 order/models.py:1053 #: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "" @@ -3500,7 +3452,7 @@ msgstr "" #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" @@ -3511,7 +3463,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" @@ -3521,7 +3473,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3876,7 +3828,7 @@ msgstr "" #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3967,7 +3919,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "" @@ -4049,19 +4001,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1045 +#: part/api.py:1037 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1049 +#: part/api.py:1041 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1064 +#: part/api.py:1056 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 msgid "This field is required" msgstr "" @@ -5115,7 +5067,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5496,6 +5448,58 @@ msgstr "" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 +msgid "Must provide barcode_data parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:129 +msgid "No match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:131 +msgid "Match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:156 +msgid "Must provide stockitem parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:163 +msgid "No matching stock item found" +msgstr "" + +#: plugin/base/barcodes/api.py:193 +msgid "Barcode already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:197 +msgid "Barcode already matches Stock Location" +msgstr "" + +#: plugin/base/barcodes/api.py:201 +msgid "Barcode already matches Part" +msgstr "" + +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 +msgid "Barcode hash already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:225 +msgid "Barcode associated with Stock Item" +msgstr "" + +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5514,50 +5518,46 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:226 -msgid "Label printing failed" -msgstr "" - -#: plugin/integration.py:146 -msgid "No author found" -msgstr "" - -#: plugin/integration.py:160 -msgid "No date found" -msgstr "" - -#: plugin/models.py:27 +#: plugin/models.py:29 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:30 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:35 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:36 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:44 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:50 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:123 msgid "Plugin" msgstr "" -#: plugin/models.py:176 +#: plugin/models.py:197 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "" @@ -5724,12 +5724,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:667 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "" @@ -5738,19 +5738,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2193 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2199 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "" @@ -5785,12 +5785,12 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:94 stock/models.py:762 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:95 stock/models.py:763 msgid "Select Owner" msgstr "" @@ -5819,203 +5819,203 @@ msgstr "" msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:561 +#: stock/models.py:568 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:604 +#: stock/models.py:611 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:613 +#: stock/models.py:620 msgid "Base part" msgstr "" -#: stock/models.py:621 +#: stock/models.py:628 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:634 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:630 +#: stock/models.py:637 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:637 +#: stock/models.py:644 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:650 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "" -#: stock/models.py:646 +#: stock/models.py:653 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:662 +#: stock/models.py:669 msgid "Serial number for this item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:683 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:681 +#: stock/models.py:688 msgid "Stock Quantity" msgstr "" -#: stock/models.py:690 +#: stock/models.py:697 msgid "Source Build" msgstr "" -#: stock/models.py:692 +#: stock/models.py:699 msgid "Build for this stock item" msgstr "" -#: stock/models.py:703 +#: stock/models.py:710 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:706 +#: stock/models.py:713 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:712 +#: stock/models.py:719 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:725 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:719 +#: stock/models.py:726 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete on deplete" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:749 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:751 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:783 +#: stock/models.py:790 msgid "Converted to part" msgstr "" -#: stock/models.py:1303 +#: stock/models.py:1310 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1309 +#: stock/models.py:1316 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1315 +#: stock/models.py:1322 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1318 +#: stock/models.py:1325 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1328 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1335 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1399 +#: stock/models.py:1406 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1402 +#: stock/models.py:1409 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1405 +#: stock/models.py:1412 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1408 +#: stock/models.py:1415 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1411 +#: stock/models.py:1418 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1414 +#: stock/models.py:1421 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1428 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1429 +#: stock/models.py:1436 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1440 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1605 +#: stock/models.py:1612 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2106 +#: stock/models.py:2113 msgid "Entry notes" msgstr "" -#: stock/models.py:2163 +#: stock/models.py:2170 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2169 +#: stock/models.py:2176 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2187 +#: stock/models.py:2194 msgid "Test name" msgstr "" -#: stock/models.py:2193 +#: stock/models.py:2200 msgid "Test result" msgstr "" -#: stock/models.py:2199 +#: stock/models.py:2206 msgid "Test output value" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2213 msgid "Test result attachment" msgstr "" -#: stock/models.py:2212 +#: stock/models.py:2219 msgid "Test notes" msgstr "" @@ -8094,12 +8094,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "" @@ -8128,11 +8128,11 @@ msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "" @@ -8140,21 +8140,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "" @@ -8166,7 +8166,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8174,11 +8174,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "" @@ -8759,209 +8759,209 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "" diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po index 4c765e7bd9..ccce0dabe8 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: 2022-05-07 23:02+0000\n" +"POT-Creation-Date: 2022-05-11 13:30+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -129,7 +129,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2202 +#: InvenTree/models.py:197 stock/models.py:2205 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "" @@ -139,15 +139,15 @@ msgid "Select file to attach" msgstr "" #: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:868 +#: company/models.py:561 order/models.py:132 part/models.py:870 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:869 -#: stock/models.py:669 +#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 +#: stock/models.py:670 msgid "Link to external URL" msgstr "" @@ -159,10 +159,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535 -#: common/models.py:1536 common/models.py:1757 common/models.py:1758 -#: common/models.py:1987 common/models.py:1988 part/models.py:2369 -#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 +#: common/models.py:1543 common/models.py:1764 common/models.py:1765 +#: common/models.py:1994 common/models.py:1995 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -201,15 +201,15 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743 -#: company/models.py:412 label/models.py:112 part/models.py:812 -#: part/models.py:2553 plugin/models.py:41 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: company/models.py:412 label/models.py:112 part/models.py:814 +#: part/models.py:2555 plugin/models.py:41 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:323 +#: templates/InvenTree/settings/settings.html:327 #: templates/js/translated/company.js:641 templates/js/translated/part.js:615 #: templates/js/translated/part.js:767 templates/js/translated/part.js:1736 #: templates/js/translated/stock.js:2288 @@ -221,7 +221,7 @@ msgstr "" #: company/models.py:567 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74 +#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 #: part/templates/part/set_category.html:14 report/models.py:190 #: report/models.py:555 report/models.py:594 @@ -229,7 +229,7 @@ msgstr "" #: stock/templates/stock/location.html:94 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 -#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345 +#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 #: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 @@ -248,7 +248,7 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/serializers.py:65 part/models.py:2886 +#: InvenTree/serializers.py:65 part/models.py:2888 msgid "Must be a valid number" msgstr "" @@ -284,20 +284,20 @@ msgstr "" msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:536 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:539 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:623 +#: InvenTree/serializers.py:626 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:632 +#: InvenTree/serializers.py:635 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -617,46 +617,6 @@ msgstr "" msgid "System Information" msgstr "" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "" @@ -683,11 +643,11 @@ msgid "Build Order Reference" msgstr "" #: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2797 +#: order/models.py:869 part/models.py:2799 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793 +#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 #: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 #: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 msgid "Reference" @@ -708,10 +668,10 @@ msgstr "" #: build/models.py:227 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:367 -#: part/models.py:2315 part/models.py:2331 part/models.py:2350 -#: part/models.py:2367 part/models.py:2469 part/models.py:2591 -#: part/models.py:2681 part/models.py:2772 part/models.py:3062 +#: order/models.py:968 order/models.py:1057 part/models.py:369 +#: part/models.py:2317 part/models.py:2333 part/models.py:2352 +#: part/models.py:2369 part/models.py:2471 part/models.py:2593 +#: part/models.py:2683 part/models.py:2774 part/models.py:3064 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -723,9 +683,9 @@ msgstr "" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157 -#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099 -#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492 +#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 +#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 @@ -751,7 +711,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 msgid "Source Location" msgstr "" @@ -792,7 +752,7 @@ msgid "Build status code" msgstr "" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:673 templates/js/translated/order.js:1053 +#: stock/models.py:674 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" @@ -800,7 +760,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:294 order/models.py:134 part/models.py:1007 +#: build/models.py:294 order/models.py:134 part/models.py:1009 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 msgid "Creation Date" msgstr "" @@ -814,7 +774,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "" #: build/models.py:302 order/models.py:280 -#: templates/js/translated/build.js:2489 +#: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "" @@ -822,7 +782,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:316 templates/js/translated/build.js:2457 +#: build/models.py:316 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "" @@ -833,9 +793,9 @@ msgstr "" #: build/models.py:325 build/templates/build/build_base.html:190 #: build/templates/build/detail.html:115 order/models.py:148 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1011 +#: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 msgid "Responsible" msgstr "" @@ -846,7 +806,7 @@ msgstr "" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:667 +#: part/templates/part/part_base.html:346 stock/models.py:668 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "" @@ -856,10 +816,10 @@ msgstr "" #: company/models.py:574 company/templates/company/sidebar.html:25 #: order/models.py:152 order/models.py:871 order/models.py:1178 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:996 +#: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208 +#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 @@ -913,7 +873,7 @@ msgid "Selected stock item not found in BOM" msgstr "" #: build/models.py:1376 stock/templates/stock/item_base.html:329 -#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385 +#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "" @@ -928,7 +888,7 @@ msgstr "" #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 -#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537 +#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 #: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 #: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 @@ -943,11 +903,11 @@ msgstr "" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1568 +#: build/templates/build/detail.html:34 common/models.py:1575 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2788 +#: part/forms.py:142 part/forms.py:158 part/models.py:2790 #: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -961,8 +921,8 @@ msgstr "" #: stock/templates/stock/item_base.html:254 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 #: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179 -#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102 +#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 +#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 @@ -990,7 +950,7 @@ msgid "Destination stock item" msgstr "" #: build/serializers.py:138 build/serializers.py:664 -#: templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" @@ -1016,7 +976,7 @@ msgstr "" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "" @@ -1060,7 +1020,7 @@ msgstr "" #: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 -#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091 +#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 #: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 #: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 @@ -1076,7 +1036,7 @@ msgstr "" #: build/serializers.py:383 build/templates/build/build_base.html:142 #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 -#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441 +#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 #: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 @@ -1139,8 +1099,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912 -#: part/models.py:3054 +#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 +#: part/models.py:3056 msgid "BOM Item" msgstr "" @@ -1279,7 +1239,7 @@ msgstr "" #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 #: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 #: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 msgid "Target Date" @@ -1365,7 +1325,7 @@ msgstr "" #: build/templates/build/detail.html:80 #: stock/templates/stock/item_base.html:315 -#: templates/js/translated/build.js:1183 +#: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 #: templates/js/translated/stock.js:2611 @@ -1377,7 +1337,7 @@ msgstr "" #: build/templates/build/detail.html:126 #: order/templates/order/order_base.html:149 #: order/templates/order/sales_order_base.html:157 -#: templates/js/translated/build.js:2449 +#: templates/js/translated/build.js:2450 msgid "Created" msgstr "" @@ -1397,7 +1357,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915 +#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916 msgid "Unallocate stock" msgstr "" @@ -1694,747 +1654,755 @@ msgid "Enable barcode scanner support" msgstr "" #: common/models.py:846 -msgid "IPN Regex" +msgid "Barcode Webcam Support" msgstr "" #: common/models.py:847 +msgid "Allow barcode scanning via webcam in browser" +msgstr "" + +#: common/models.py:853 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:854 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:851 +#: common/models.py:858 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:852 +#: common/models.py:859 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:858 +#: common/models.py:865 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:859 +#: common/models.py:866 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:865 +#: common/models.py:872 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:866 +#: common/models.py:873 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:872 +#: common/models.py:879 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:873 +#: common/models.py:880 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:886 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:880 +#: common/models.py:887 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:886 +#: common/models.py:893 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:887 +#: common/models.py:894 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:893 part/models.py:2593 report/models.py:183 +#: common/models.py:900 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:894 +#: common/models.py:901 msgid "Parts are templates by default" msgstr "" -#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335 +#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:901 +#: common/models.py:908 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:907 part/models.py:965 +#: common/models.py:914 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:908 +#: common/models.py:915 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:914 part/models.py:976 +#: common/models.py:921 part/models.py:978 msgid "Purchaseable" msgstr "" -#: common/models.py:915 +#: common/models.py:922 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:921 part/models.py:981 +#: common/models.py:928 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:922 +#: common/models.py:929 msgid "Parts are salable by default" msgstr "" -#: common/models.py:928 part/models.py:971 +#: common/models.py:935 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:929 +#: common/models.py:936 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:935 part/models.py:991 +#: common/models.py:942 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:936 +#: common/models.py:943 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:942 +#: common/models.py:949 msgid "Show Import in Views" msgstr "" -#: common/models.py:943 +#: common/models.py:950 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:949 +#: common/models.py:956 msgid "Show Price in Forms" msgstr "" -#: common/models.py:950 +#: common/models.py:957 msgid "Display part price in some forms" msgstr "" -#: common/models.py:961 +#: common/models.py:968 msgid "Show Price in BOM" msgstr "" -#: common/models.py:962 +#: common/models.py:969 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:973 +#: common/models.py:980 msgid "Show Price History" msgstr "" -#: common/models.py:974 +#: common/models.py:981 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:980 +#: common/models.py:987 msgid "Show related parts" msgstr "" -#: common/models.py:981 +#: common/models.py:988 msgid "Display related parts for a part" msgstr "" -#: common/models.py:987 +#: common/models.py:994 msgid "Create initial stock" msgstr "" -#: common/models.py:988 +#: common/models.py:995 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:994 +#: common/models.py:1001 msgid "Internal Prices" msgstr "" -#: common/models.py:995 +#: common/models.py:1002 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1001 +#: common/models.py:1008 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1002 +#: common/models.py:1009 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1008 +#: common/models.py:1015 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1009 +#: common/models.py:1016 msgid "Format to display the part name" msgstr "" -#: common/models.py:1016 +#: common/models.py:1023 msgid "Enable Reports" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1023 templates/stats.html:25 +#: common/models.py:1030 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1024 +#: common/models.py:1031 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1030 +#: common/models.py:1037 msgid "Page Size" msgstr "" -#: common/models.py:1031 +#: common/models.py:1038 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Test Reports" msgstr "" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Batch Code Template" msgstr "" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1054 +#: common/models.py:1061 msgid "Stock Expiry" msgstr "" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1061 +#: common/models.py:1068 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1068 +#: common/models.py:1075 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1071 +#: common/models.py:1078 msgid "days" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1084 +#: common/models.py:1091 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1096 +#: common/models.py:1103 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1101 +#: common/models.py:1108 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1102 +#: common/models.py:1109 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1108 +#: common/models.py:1115 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Enable password forgot" msgstr "" -#: common/models.py:1115 +#: common/models.py:1122 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable registration" msgstr "" -#: common/models.py:1122 +#: common/models.py:1129 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable SSO" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Email required" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1143 +#: common/models.py:1150 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Mail twice" msgstr "" -#: common/models.py:1150 +#: common/models.py:1157 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Password twice" msgstr "" -#: common/models.py:1157 +#: common/models.py:1164 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1163 +#: common/models.py:1170 msgid "Group on signup" msgstr "" -#: common/models.py:1164 +#: common/models.py:1171 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1170 +#: common/models.py:1177 msgid "Enforce MFA" msgstr "" -#: common/models.py:1171 +#: common/models.py:1178 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1178 +#: common/models.py:1185 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1186 +#: common/models.py:1193 msgid "Enable URL integration" msgstr "" -#: common/models.py:1187 +#: common/models.py:1194 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1194 +#: common/models.py:1201 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1195 +#: common/models.py:1202 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Enable app integration" msgstr "" -#: common/models.py:1203 +#: common/models.py:1210 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1210 +#: common/models.py:1217 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1211 +#: common/models.py:1218 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1218 +#: common/models.py:1225 msgid "Enable event integration" msgstr "" -#: common/models.py:1219 +#: common/models.py:1226 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1234 common/models.py:1528 +#: common/models.py:1241 common/models.py:1535 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1266 +#: common/models.py:1273 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Show latest parts" msgstr "" -#: common/models.py:1280 +#: common/models.py:1287 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1286 +#: common/models.py:1293 msgid "Recent Part Count" msgstr "" -#: common/models.py:1287 +#: common/models.py:1294 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1293 +#: common/models.py:1300 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1294 +#: common/models.py:1301 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1300 +#: common/models.py:1307 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1301 +#: common/models.py:1308 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Show low stock" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Show depleted stock" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1335 msgid "Show needed stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Show expired stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Show stale stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Show pending builds" msgstr "" -#: common/models.py:1350 +#: common/models.py:1357 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Show overdue builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1364 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1377 msgid "Show overdue POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1390 +#: common/models.py:1397 msgid "Enable label printing" msgstr "" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Inline label display" msgstr "" -#: common/models.py:1398 +#: common/models.py:1405 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1404 +#: common/models.py:1411 msgid "Inline report display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Search Parts" msgstr "" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Search Categories" msgstr "" -#: common/models.py:1419 +#: common/models.py:1426 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1432 msgid "Search Stock" msgstr "" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Search Locations" msgstr "" -#: common/models.py:1433 +#: common/models.py:1440 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1446 msgid "Search Companies" msgstr "" -#: common/models.py:1440 +#: common/models.py:1447 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1453 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1460 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1467 msgid "Search Preview Results" msgstr "" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1474 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1468 +#: common/models.py:1475 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1481 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1481 +#: common/models.py:1488 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1495 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1489 +#: common/models.py:1496 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1495 +#: common/models.py:1502 msgid "Date Format" msgstr "" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1510 part/templates/part/detail.html:39 +#: common/models.py:1517 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1569 company/forms.py:43 +#: common/models.py:1576 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1576 company/serializers.py:264 +#: common/models.py:1583 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1734 common/models.py:1873 +#: common/models.py:1741 common/models.py:1880 msgid "Endpoint" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Name for this webhook" msgstr "" -#: common/models.py:1749 part/models.py:986 plugin/models.py:47 +#: common/models.py:1756 part/models.py:988 plugin/models.py:47 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2442,67 +2410,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1750 +#: common/models.py:1757 msgid "Is this webhook active" msgstr "" -#: common/models.py:1764 +#: common/models.py:1771 msgid "Token" msgstr "" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Token for access" msgstr "" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Secret" msgstr "" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1840 +#: common/models.py:1847 msgid "Message ID" msgstr "" -#: common/models.py:1841 +#: common/models.py:1848 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Host" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Header" msgstr "" -#: common/models.py:1858 +#: common/models.py:1865 msgid "Header of this message" msgstr "" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Body" msgstr "" -#: common/models.py:1865 +#: common/models.py:1872 msgid "Body of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1879 +#: common/models.py:1886 msgid "Worked on" msgstr "" -#: common/models.py:1880 +#: common/models.py:1887 msgid "Was the work on this message finished?" msgstr "" @@ -2601,7 +2569,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:878 +#: company/models.py:139 part/models.py:880 msgid "Image" msgstr "" @@ -2639,7 +2607,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:611 +#: company/models.py:317 company/models.py:532 stock/models.py:612 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "" @@ -2696,7 +2664,7 @@ msgstr "" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:647 +#: stock/models.py:2198 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2705,9 +2673,9 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:953 part/models.py:2561 +#: company/models.py:426 part/models.py:955 part/models.py:2563 #: part/templates/part/part_base.html:280 -#: templates/InvenTree/settings/settings.html:328 +#: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "" @@ -2758,22 +2726,22 @@ msgid "Supplier part description" msgstr "" #: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2800 part/templates/part/upload_bom.html:59 +#: part/models.py:2802 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 msgid "Note" msgstr "" -#: company/models.py:577 part/models.py:1871 +#: company/models.py:577 part/models.py:1873 msgid "base cost" msgstr "" -#: company/models.py:577 part/models.py:1871 +#: company/models.py:577 part/models.py:1873 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:635 stock/templates/stock/item_base.html:322 +#: stock/models.py:636 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" @@ -2782,7 +2750,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:581 part/models.py:1873 +#: company/models.py:581 part/models.py:1875 msgid "multiple" msgstr "" @@ -2846,8 +2814,8 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:654 -#: stock/models.py:655 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:655 +#: stock/models.py:656 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 #: templates/js/translated/stock.js:2436 @@ -2973,7 +2941,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/detail.html:167 -#: templates/js/translated/build.js:1674 +#: templates/js/translated/build.js:1675 msgid "Assigned Stock" msgstr "" @@ -3098,7 +3066,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:619 +#: company/templates/company/supplier_part.html:24 stock/models.py:620 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3263,7 +3231,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: label/api.py:97 report/api.py:203 +#: label/api.py:96 report/api.py:203 msgid "No valid objects provided to template" msgstr "" @@ -3514,7 +3482,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3867,7 +3835,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 -#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988 +#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 @@ -3984,7 +3952,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896 +#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 msgid "Actions" msgstr "" @@ -4058,7 +4026,7 @@ msgstr "" msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:112 part/models.py:887 +#: part/bom.py:125 part/models.py:114 part/models.py:889 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" @@ -4094,30 +4062,30 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:113 +#: part/models.py:115 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:116 +#: part/models.py:118 msgid "Default keywords" msgstr "" -#: part/models.py:116 +#: part/models.py:118 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 +#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:127 part/templates/part/category.html:128 +#: part/models.py:129 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:368 part/templates/part/cat_link.html:3 +#: part/models.py:370 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4128,415 +4096,415 @@ msgstr "" msgid "Parts" msgstr "" -#: part/models.py:460 +#: part/models.py:462 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:535 part/models.py:547 +#: part/models.py:537 part/models.py:549 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:677 +#: part/models.py:679 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:681 +#: part/models.py:683 msgid "Next available serial number is" msgstr "" -#: part/models.py:686 +#: part/models.py:688 msgid "Most recent serial number is" msgstr "" -#: part/models.py:782 +#: part/models.py:784 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 part/models.py:2690 +#: part/models.py:813 part/models.py:2692 msgid "Part name" msgstr "" -#: part/models.py:818 +#: part/models.py:820 msgid "Is Template" msgstr "" -#: part/models.py:819 +#: part/models.py:821 msgid "Is this part a template part?" msgstr "" -#: part/models.py:829 +#: part/models.py:831 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:830 +#: part/models.py:832 msgid "Variant Of" msgstr "" -#: part/models.py:836 +#: part/models.py:838 msgid "Part description" msgstr "" -#: part/models.py:841 part/templates/part/category.html:86 +#: part/models.py:843 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:842 +#: part/models.py:844 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:849 part/models.py:2387 part/models.py:2636 +#: part/models.py:851 part/models.py:2389 part/models.py:2638 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 -#: templates/InvenTree/settings/settings.html:227 +#: templates/InvenTree/settings/settings.html:231 #: templates/js/translated/part.js:1369 msgid "Category" msgstr "" -#: part/models.py:850 +#: part/models.py:852 msgid "Part category" msgstr "" -#: part/models.py:855 part/templates/part/part_base.html:266 +#: part/models.py:857 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:856 +#: part/models.py:858 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:864 msgid "Part revision or version number" msgstr "" -#: part/models.py:863 part/templates/part/part_base.html:273 +#: part/models.py:865 part/templates/part/part_base.html:273 #: report/models.py:196 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:885 +#: part/models.py:887 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:932 part/templates/part/part_base.html:339 +#: part/models.py:934 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:933 +#: part/models.py:935 msgid "Default supplier part" msgstr "" -#: part/models.py:940 +#: part/models.py:942 msgid "Default Expiry" msgstr "" -#: part/models.py:941 +#: part/models.py:943 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:946 part/templates/part/part_base.html:200 +#: part/models.py:948 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:947 +#: part/models.py:949 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:954 +#: part/models.py:956 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:960 +#: part/models.py:962 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:966 +#: part/models.py:968 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:972 +#: part/models.py:974 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:977 +#: part/models.py:979 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:982 +#: part/models.py:984 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:987 +#: part/models.py:989 msgid "Is this part active?" msgstr "" -#: part/models.py:992 +#: part/models.py:994 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:997 +#: part/models.py:999 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1000 +#: part/models.py:1002 msgid "BOM checksum" msgstr "" -#: part/models.py:1000 +#: part/models.py:1002 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1003 +#: part/models.py:1005 msgid "BOM checked by" msgstr "" -#: part/models.py:1005 +#: part/models.py:1007 msgid "BOM checked date" msgstr "" -#: part/models.py:1009 +#: part/models.py:1011 msgid "Creation User" msgstr "" -#: part/models.py:1873 +#: part/models.py:1875 msgid "Sell multiple" msgstr "" -#: part/models.py:2437 +#: part/models.py:2439 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2454 +#: part/models.py:2456 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2474 templates/js/translated/part.js:1819 +#: part/models.py:2476 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2475 +#: part/models.py:2477 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2480 +#: part/models.py:2482 msgid "Test Description" msgstr "" -#: part/models.py:2481 +#: part/models.py:2483 msgid "Enter description for this test" msgstr "" -#: part/models.py:2486 templates/js/translated/part.js:1828 +#: part/models.py:2488 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2487 +#: part/models.py:2489 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2492 templates/js/translated/part.js:1836 +#: part/models.py:2494 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2493 +#: part/models.py:2495 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2498 templates/js/translated/part.js:1843 +#: part/models.py:2500 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2499 +#: part/models.py:2501 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2510 +#: part/models.py:2512 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2546 +#: part/models.py:2548 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2554 +#: part/models.py:2556 msgid "Parameter Name" msgstr "" -#: part/models.py:2561 +#: part/models.py:2563 msgid "Parameter Units" msgstr "" -#: part/models.py:2591 +#: part/models.py:2593 msgid "Parent Part" msgstr "" -#: part/models.py:2593 part/models.py:2642 part/models.py:2643 -#: templates/InvenTree/settings/settings.html:222 +#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2595 +#: part/models.py:2597 msgid "Data" msgstr "" -#: part/models.py:2595 +#: part/models.py:2597 msgid "Parameter Value" msgstr "" -#: part/models.py:2647 templates/InvenTree/settings/settings.html:231 +#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2648 +#: part/models.py:2650 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2682 +#: part/models.py:2684 msgid "Part ID or part name" msgstr "" -#: part/models.py:2685 templates/js/translated/model_renderers.js:200 +#: part/models.py:2687 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2686 +#: part/models.py:2688 msgid "Unique part ID value" msgstr "" -#: part/models.py:2689 +#: part/models.py:2691 msgid "Part Name" msgstr "" -#: part/models.py:2693 +#: part/models.py:2695 msgid "Part IPN" msgstr "" -#: part/models.py:2694 +#: part/models.py:2696 msgid "Part IPN value" msgstr "" -#: part/models.py:2697 +#: part/models.py:2699 msgid "Level" msgstr "" -#: part/models.py:2698 +#: part/models.py:2700 msgid "BOM level" msgstr "" -#: part/models.py:2773 +#: part/models.py:2775 msgid "Select parent part" msgstr "" -#: part/models.py:2781 +#: part/models.py:2783 msgid "Sub part" msgstr "" -#: part/models.py:2782 +#: part/models.py:2784 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2788 +#: part/models.py:2790 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: part/models.py:2792 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2790 +#: part/models.py:2792 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2793 part/templates/part/upload_bom.html:55 +#: part/models.py:2795 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2794 +#: part/models.py:2796 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2797 +#: part/models.py:2799 msgid "BOM item reference" msgstr "" -#: part/models.py:2800 +#: part/models.py:2802 msgid "BOM item notes" msgstr "" -#: part/models.py:2802 +#: part/models.py:2804 msgid "Checksum" msgstr "" -#: part/models.py:2802 +#: part/models.py:2804 msgid "BOM line checksum" msgstr "" -#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: part/models.py:2808 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:927 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2807 +#: part/models.py:2809 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: part/models.py:2814 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:919 msgid "Allow Variants" msgstr "" -#: part/models.py:2813 +#: part/models.py:2815 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2898 stock/models.py:497 +#: part/models.py:2900 stock/models.py:498 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2907 part/models.py:2909 +#: part/models.py:2909 part/models.py:2911 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3021 +#: part/models.py:3023 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3043 +#: part/models.py:3045 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3055 +#: part/models.py:3057 msgid "Parent BOM item" msgstr "" -#: part/models.py:3063 +#: part/models.py:3065 msgid "Substitute part" msgstr "" -#: part/models.py:3074 +#: part/models.py:3076 msgid "Part 1" msgstr "" -#: part/models.py:3078 +#: part/models.py:3080 msgid "Part 2" msgstr "" -#: part/models.py:3078 +#: part/models.py:3080 msgid "Select Related Part" msgstr "" -#: part/models.py:3110 +#: part/models.py:3112 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -5490,6 +5458,46 @@ msgstr "" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" +#: plugin/barcode.py:53 plugin/barcode.py:154 +msgid "Must provide barcode_data parameter" +msgstr "" + +#: plugin/barcode.py:130 +msgid "No match found for barcode data" +msgstr "" + +#: plugin/barcode.py:132 +msgid "Match found for barcode data" +msgstr "" + +#: plugin/barcode.py:157 +msgid "Must provide stockitem parameter" +msgstr "" + +#: plugin/barcode.py:164 +msgid "No matching stock item found" +msgstr "" + +#: plugin/barcode.py:195 +msgid "Barcode already matches Stock Item" +msgstr "" + +#: plugin/barcode.py:199 +msgid "Barcode already matches Stock Location" +msgstr "" + +#: plugin/barcode.py:203 +msgid "Barcode already matches Part" +msgstr "" + +#: plugin/barcode.py:209 plugin/barcode.py:221 +msgid "Barcode hash already matches Stock Item" +msgstr "" + +#: plugin/barcode.py:227 +msgid "Barcode associated with Stock Item" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5508,7 +5516,7 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:222 +#: plugin/events.py:226 msgid "Label printing failed" msgstr "" @@ -5718,9 +5726,9 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:659 stock/templates/stock/item_base.html:156 +#: stock/models.py:660 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 -#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687 +#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 #: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 #: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 @@ -5732,12 +5740,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2186 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2192 msgid "Result" msgstr "" @@ -5779,237 +5787,237 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:93 stock/models.py:754 +#: stock/models.py:94 stock/models.py:755 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:95 stock/models.py:756 msgid "Select Owner" msgstr "" -#: stock/models.py:470 +#: stock/models.py:471 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:514 +#: stock/models.py:515 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:524 stock/models.py:533 +#: stock/models.py:525 stock/models.py:534 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:525 +#: stock/models.py:526 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:547 +#: stock/models.py:548 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:553 +#: stock/models.py:554 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:560 +#: stock/models.py:561 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:603 +#: stock/models.py:604 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:612 +#: stock/models.py:613 msgid "Base part" msgstr "" -#: stock/models.py:620 +#: stock/models.py:621 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:626 stock/templates/stock/location.html:16 +#: stock/models.py:627 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:629 +#: stock/models.py:630 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:636 +#: stock/models.py:637 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:642 stock/templates/stock/item_base.html:282 +#: stock/models.py:643 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "" -#: stock/models.py:645 +#: stock/models.py:646 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:661 +#: stock/models.py:662 msgid "Serial number for this item" msgstr "" -#: stock/models.py:675 +#: stock/models.py:676 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:680 +#: stock/models.py:681 msgid "Stock Quantity" msgstr "" -#: stock/models.py:689 +#: stock/models.py:690 msgid "Source Build" msgstr "" -#: stock/models.py:691 +#: stock/models.py:692 msgid "Build for this stock item" msgstr "" -#: stock/models.py:702 +#: stock/models.py:703 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:705 +#: stock/models.py:706 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:711 +#: stock/models.py:712 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:717 stock/templates/stock/item_base.html:193 +#: stock/models.py:718 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:718 +#: stock/models.py:719 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:731 +#: stock/models.py:732 msgid "Delete on deplete" msgstr "" -#: stock/models.py:731 +#: stock/models.py:732 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:741 stock/templates/stock/item.html:137 +#: stock/models.py:742 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:750 +#: stock/models.py:751 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:782 +#: stock/models.py:783 msgid "Converted to part" msgstr "" -#: stock/models.py:1302 +#: stock/models.py:1303 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1308 +#: stock/models.py:1309 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1314 +#: stock/models.py:1315 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1318 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1320 +#: stock/models.py:1321 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1328 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1398 +#: stock/models.py:1399 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1401 +#: stock/models.py:1402 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1404 +#: stock/models.py:1405 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1407 +#: stock/models.py:1408 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1410 +#: stock/models.py:1411 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1413 +#: stock/models.py:1414 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1420 stock/serializers.py:874 +#: stock/models.py:1421 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1425 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1429 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1433 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1604 +#: stock/models.py:1605 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:2106 msgid "Entry notes" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2163 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2169 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2187 msgid "Test name" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2193 msgid "Test result" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2199 msgid "Test output value" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2206 msgid "Test result attachment" msgstr "" -#: stock/models.py:2209 +#: stock/models.py:2212 msgid "Test notes" msgstr "" @@ -6329,7 +6337,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua msgstr "" #: stock/templates/stock/item_base.html:301 -#: templates/js/translated/build.js:1709 +#: templates/js/translated/build.js:1710 msgid "No location set" msgstr "" @@ -6687,7 +6695,7 @@ msgid "Notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:51 -#: templates/InvenTree/settings/settings.html:317 +#: templates/InvenTree/settings/settings.html:321 msgid "ID" msgstr "" @@ -6945,28 +6953,32 @@ msgid "Edit Plugin Setting" msgstr "" #: templates/InvenTree/settings/settings.html:121 +msgid "Edit Notification Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:124 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings.html:126 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:212 +#: templates/InvenTree/settings/settings.html:216 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:234 -#: templates/InvenTree/settings/settings.html:333 +#: templates/InvenTree/settings/settings.html:238 +#: templates/InvenTree/settings/settings.html:337 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:235 -#: templates/InvenTree/settings/settings.html:334 +#: templates/InvenTree/settings/settings.html:239 +#: templates/InvenTree/settings/settings.html:338 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:313 +#: templates/InvenTree/settings/settings.html:317 msgid "No part parameter templates found" msgstr "" @@ -7546,8 +7558,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803 -#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527 +#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 msgid "Available" @@ -7874,24 +7886,24 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785 +#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830 +#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834 +#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836 +#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838 +#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" @@ -7931,7 +7943,7 @@ msgstr "" msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631 +#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" @@ -7939,7 +7951,7 @@ msgstr "" msgid "Are you sure you want to delete this BOM item?" msgstr "" -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" @@ -8065,166 +8077,166 @@ msgstr "" msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1137 +#: templates/js/translated/build.js:1138 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1206 +#: templates/js/translated/build.js:1207 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1214 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1235 +#: templates/js/translated/build.js:1236 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1240 +#: templates/js/translated/build.js:1241 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555 +#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 #: templates/js/translated/order.js:2881 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556 +#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 #: templates/js/translated/order.js:2882 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1746 +#: templates/js/translated/build.js:1747 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1756 +#: templates/js/translated/build.js:1757 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1781 +#: templates/js/translated/build.js:1782 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1798 +#: templates/js/translated/build.js:1799 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1824 +#: templates/js/translated/build.js:1825 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1826 +#: templates/js/translated/build.js:1827 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:1907 templates/stock_table.html:50 +#: templates/js/translated/build.js:1908 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172 +#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 #: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2073 +#: templates/js/translated/build.js:2074 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2074 +#: templates/js/translated/build.js:2075 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2116 +#: templates/js/translated/build.js:2117 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2296 +#: templates/js/translated/build.js:2297 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2297 +#: templates/js/translated/build.js:2298 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2299 +#: templates/js/translated/build.js:2300 msgid "If a location is specifed, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2300 +#: templates/js/translated/build.js:2301 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2301 +#: templates/js/translated/build.js:2302 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2322 +#: templates/js/translated/build.js:2323 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2362 +#: templates/js/translated/build.js:2363 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314 +#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314 #: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629 #: templates/js/translated/stock.js:2282 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2400 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2427 +#: templates/js/translated/build.js:2428 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524 +#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2476 msgid "No information" msgstr "" -#: templates/js/translated/build.js:2532 +#: templates/js/translated/build.js:2533 msgid "No parts allocated for" msgstr "" diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po index 70da841c2b..a7f603ac60 100644 --- a/InvenTree/locale/fa/LC_MESSAGES/django.po +++ b/InvenTree/locale/fa/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-10 04:16+0000\n" -"PO-Revision-Date: 2022-05-11 00:28\n" +"POT-Creation-Date: 2022-05-15 23:30+0000\n" +"PO-Revision-Date: 2022-05-16 01:10\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -17,18 +17,10 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:53 msgid "API endpoint not found" msgstr "Address e API peida nashod" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "هیچ عملیات کاربر-محوری، مشخص نشده است" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "" - #: InvenTree/fields.py:100 msgid "Enter date" msgstr "" @@ -128,7 +120,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2212 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "" @@ -146,7 +138,7 @@ msgid "Link" msgstr "" #: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: stock/models.py:677 msgid "Link to external URL" msgstr "" @@ -158,10 +150,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 +#: common/models.py:1547 common/models.py:1778 common/models.py:1779 +#: common/models.py:2006 common/models.py:2007 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -200,9 +192,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 #: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: part/models.py:2555 plugin/models.py:43 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -230,8 +222,8 @@ msgstr "" #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -440,7 +432,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "" @@ -616,46 +608,6 @@ msgstr "" msgid "System Information" msgstr "" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "" @@ -687,8 +639,8 @@ msgstr "" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 +#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 msgid "Reference" msgstr "" @@ -727,8 +679,8 @@ msgstr "" #: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -750,7 +702,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" @@ -791,7 +743,7 @@ msgid "Build status code" msgstr "" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: stock/models.py:681 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" @@ -800,7 +752,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" @@ -834,7 +786,7 @@ msgstr "" #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" @@ -845,7 +797,7 @@ msgstr "" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 +#: part/templates/part/part_base.html:346 stock/models.py:675 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "" @@ -858,14 +810,14 @@ msgstr "" #: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 +#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "" @@ -928,9 +880,9 @@ msgstr "" #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" @@ -942,7 +894,7 @@ msgstr "" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 +#: build/templates/build/detail.html:34 common/models.py:1589 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 @@ -964,10 +916,10 @@ msgstr "" #: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -1015,7 +967,7 @@ msgstr "" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "" @@ -1060,8 +1012,8 @@ msgstr "" #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 @@ -1076,8 +1028,8 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "" @@ -1278,9 +1230,9 @@ msgstr "" #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "" @@ -1314,7 +1266,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1350,7 +1302,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1592,856 +1544,856 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:387 +#: common/models.py:401 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:389 +#: common/models.py:403 msgid "Settings value" msgstr "" -#: common/models.py:430 +#: common/models.py:444 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:450 +#: common/models.py:464 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:461 +#: common/models.py:475 msgid "Value must be an integer value" msgstr "" -#: common/models.py:510 +#: common/models.py:524 msgid "Key string must be unique" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "No group" msgstr "" -#: common/models.py:784 +#: common/models.py:788 msgid "Restart required" msgstr "" -#: common/models.py:785 +#: common/models.py:789 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:792 +#: common/models.py:796 msgid "Server Instance Name" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:798 +#: common/models.py:802 msgid "Use instance name" msgstr "" -#: common/models.py:799 +#: common/models.py:803 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:805 +#: common/models.py:809 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:816 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Internal company name" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Base URL" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Base URL for server instance" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Default Currency" msgstr "" -#: common/models.py:826 +#: common/models.py:830 msgid "Default currency" msgstr "" -#: common/models.py:832 +#: common/models.py:836 msgid "Download from URL" msgstr "" -#: common/models.py:833 +#: common/models.py:837 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:840 +#: common/models.py:844 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:846 +#: common/models.py:850 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:851 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:857 msgid "IPN Regex" msgstr "" -#: common/models.py:854 +#: common/models.py:858 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:858 +#: common/models.py:862 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:859 +#: common/models.py:863 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:865 +#: common/models.py:869 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:866 +#: common/models.py:870 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:872 +#: common/models.py:876 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:873 +#: common/models.py:877 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:883 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:880 +#: common/models.py:884 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:886 +#: common/models.py:890 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:887 +#: common/models.py:891 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:893 +#: common/models.py:897 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:894 +#: common/models.py:898 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:904 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:901 +#: common/models.py:905 msgid "Parts are templates by default" msgstr "" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:908 +#: common/models.py:912 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:914 part/models.py:967 +#: common/models.py:918 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:915 +#: common/models.py:919 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:921 part/models.py:978 +#: common/models.py:925 part/models.py:978 msgid "Purchaseable" msgstr "" -#: common/models.py:922 +#: common/models.py:926 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:928 part/models.py:983 +#: common/models.py:932 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:929 +#: common/models.py:933 msgid "Parts are salable by default" msgstr "" -#: common/models.py:935 part/models.py:973 +#: common/models.py:939 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:936 +#: common/models.py:940 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:942 part/models.py:993 +#: common/models.py:946 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:943 +#: common/models.py:947 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:949 +#: common/models.py:953 msgid "Show Import in Views" msgstr "" -#: common/models.py:950 +#: common/models.py:954 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:956 +#: common/models.py:960 msgid "Show Price in Forms" msgstr "" -#: common/models.py:957 +#: common/models.py:961 msgid "Display part price in some forms" msgstr "" -#: common/models.py:968 +#: common/models.py:972 msgid "Show Price in BOM" msgstr "" -#: common/models.py:969 +#: common/models.py:973 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:980 +#: common/models.py:984 msgid "Show Price History" msgstr "" -#: common/models.py:981 +#: common/models.py:985 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:987 +#: common/models.py:991 msgid "Show related parts" msgstr "" -#: common/models.py:988 +#: common/models.py:992 msgid "Display related parts for a part" msgstr "" -#: common/models.py:994 +#: common/models.py:998 msgid "Create initial stock" msgstr "" -#: common/models.py:995 +#: common/models.py:999 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1001 +#: common/models.py:1005 msgid "Internal Prices" msgstr "" -#: common/models.py:1002 +#: common/models.py:1006 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1008 +#: common/models.py:1012 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1009 +#: common/models.py:1013 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1015 +#: common/models.py:1019 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1016 +#: common/models.py:1020 msgid "Format to display the part name" msgstr "" -#: common/models.py:1023 +#: common/models.py:1027 msgid "Enable Reports" msgstr "" -#: common/models.py:1024 +#: common/models.py:1028 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1034 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1031 +#: common/models.py:1035 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1037 +#: common/models.py:1041 msgid "Page Size" msgstr "" -#: common/models.py:1038 +#: common/models.py:1042 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1048 +#: common/models.py:1052 msgid "Test Reports" msgstr "" -#: common/models.py:1049 +#: common/models.py:1053 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1055 +#: common/models.py:1059 msgid "Batch Code Template" msgstr "" -#: common/models.py:1056 +#: common/models.py:1060 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1061 +#: common/models.py:1065 msgid "Stock Expiry" msgstr "" -#: common/models.py:1062 +#: common/models.py:1066 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1068 +#: common/models.py:1072 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1069 +#: common/models.py:1073 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1075 +#: common/models.py:1079 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1076 +#: common/models.py:1080 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1078 +#: common/models.py:1082 msgid "days" msgstr "" -#: common/models.py:1083 +#: common/models.py:1087 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1084 +#: common/models.py:1088 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1090 +#: common/models.py:1094 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1091 +#: common/models.py:1095 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1097 +#: common/models.py:1101 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1098 +#: common/models.py:1102 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1103 +#: common/models.py:1107 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1104 +#: common/models.py:1108 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1108 +#: common/models.py:1112 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1109 +#: common/models.py:1113 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1118 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1115 +#: common/models.py:1119 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1121 +#: common/models.py:1125 msgid "Enable password forgot" msgstr "" -#: common/models.py:1122 +#: common/models.py:1126 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1128 +#: common/models.py:1132 msgid "Enable registration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1133 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1135 +#: common/models.py:1139 msgid "Enable SSO" msgstr "" -#: common/models.py:1136 +#: common/models.py:1140 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1142 +#: common/models.py:1146 msgid "Email required" msgstr "" -#: common/models.py:1143 +#: common/models.py:1147 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1149 +#: common/models.py:1153 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1150 +#: common/models.py:1154 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1156 +#: common/models.py:1160 msgid "Mail twice" msgstr "" -#: common/models.py:1157 +#: common/models.py:1161 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1163 +#: common/models.py:1167 msgid "Password twice" msgstr "" -#: common/models.py:1164 +#: common/models.py:1168 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1170 +#: common/models.py:1174 msgid "Group on signup" msgstr "" -#: common/models.py:1171 +#: common/models.py:1175 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1177 +#: common/models.py:1181 msgid "Enforce MFA" msgstr "" -#: common/models.py:1178 +#: common/models.py:1182 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1184 +#: common/models.py:1188 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1185 +#: common/models.py:1189 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1193 +#: common/models.py:1197 msgid "Enable URL integration" msgstr "" -#: common/models.py:1194 +#: common/models.py:1198 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1201 +#: common/models.py:1205 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1202 +#: common/models.py:1206 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1209 +#: common/models.py:1213 msgid "Enable app integration" msgstr "" -#: common/models.py:1210 +#: common/models.py:1214 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1217 +#: common/models.py:1221 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1218 +#: common/models.py:1222 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1225 +#: common/models.py:1229 msgid "Enable event integration" msgstr "" -#: common/models.py:1226 +#: common/models.py:1230 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1245 common/models.py:1539 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1272 +#: common/models.py:1276 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1273 +#: common/models.py:1277 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1279 +#: common/models.py:1283 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1280 +#: common/models.py:1284 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1286 +#: common/models.py:1290 msgid "Show latest parts" msgstr "" -#: common/models.py:1287 +#: common/models.py:1291 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1293 +#: common/models.py:1297 msgid "Recent Part Count" msgstr "" -#: common/models.py:1294 +#: common/models.py:1298 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1300 +#: common/models.py:1304 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1301 +#: common/models.py:1305 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1311 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1308 +#: common/models.py:1312 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1314 +#: common/models.py:1318 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1315 +#: common/models.py:1319 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1321 +#: common/models.py:1325 msgid "Show low stock" msgstr "" -#: common/models.py:1322 +#: common/models.py:1326 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1332 msgid "Show depleted stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1333 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1339 msgid "Show needed stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1340 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1346 msgid "Show expired stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1347 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1353 msgid "Show stale stock" msgstr "" -#: common/models.py:1350 +#: common/models.py:1354 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1360 msgid "Show pending builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1361 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1367 msgid "Show overdue builds" msgstr "" -#: common/models.py:1364 +#: common/models.py:1368 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1374 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1375 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1381 msgid "Show overdue POs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1382 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1388 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1389 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1391 +#: common/models.py:1395 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1392 +#: common/models.py:1396 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1397 +#: common/models.py:1401 msgid "Enable label printing" msgstr "" -#: common/models.py:1398 +#: common/models.py:1402 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1404 +#: common/models.py:1408 msgid "Inline label display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1409 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1415 msgid "Inline report display" msgstr "" -#: common/models.py:1412 +#: common/models.py:1416 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1418 +#: common/models.py:1422 msgid "Search Parts" msgstr "" -#: common/models.py:1419 +#: common/models.py:1423 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1429 msgid "Search Categories" msgstr "" -#: common/models.py:1426 +#: common/models.py:1430 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1436 msgid "Search Stock" msgstr "" -#: common/models.py:1433 +#: common/models.py:1437 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1443 msgid "Search Locations" msgstr "" -#: common/models.py:1440 +#: common/models.py:1444 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1450 msgid "Search Companies" msgstr "" -#: common/models.py:1447 +#: common/models.py:1451 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1457 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1458 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1464 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1461 +#: common/models.py:1465 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1471 msgid "Search Preview Results" msgstr "" -#: common/models.py:1468 +#: common/models.py:1472 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1478 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1475 +#: common/models.py:1479 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1481 +#: common/models.py:1485 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1482 +#: common/models.py:1486 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1492 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1489 +#: common/models.py:1493 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1495 +#: common/models.py:1499 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1496 +#: common/models.py:1500 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1502 +#: common/models.py:1506 msgid "Date Format" msgstr "" -#: common/models.py:1503 +#: common/models.py:1507 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1521 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1518 +#: common/models.py:1522 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1590 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1583 company/serializers.py:264 +#: common/models.py:1597 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1584 +#: common/models.py:1598 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1755 common/models.py:1892 msgid "Endpoint" msgstr "" -#: common/models.py:1742 +#: common/models.py:1756 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1751 +#: common/models.py:1765 msgid "Name for this webhook" msgstr "" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1770 part/models.py:988 plugin/models.py:49 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2449,67 +2401,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1757 +#: common/models.py:1771 msgid "Is this webhook active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1785 msgid "Token" msgstr "" -#: common/models.py:1772 +#: common/models.py:1786 msgid "Token for access" msgstr "" -#: common/models.py:1779 +#: common/models.py:1793 msgid "Secret" msgstr "" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1847 +#: common/models.py:1859 msgid "Message ID" msgstr "" -#: common/models.py:1848 +#: common/models.py:1860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Host" msgstr "" -#: common/models.py:1857 +#: common/models.py:1869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Header" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Header of this message" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Body" msgstr "" -#: common/models.py:1872 +#: common/models.py:1884 msgid "Body of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1893 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Worked on" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Was the work on this message finished?" msgstr "" @@ -2646,7 +2598,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:612 +#: company/models.py:317 company/models.py:532 stock/models.py:619 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "" @@ -2673,7 +2625,7 @@ msgstr "" #: company/models.py:339 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" @@ -2703,7 +2655,7 @@ msgstr "" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2205 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2732,7 +2684,7 @@ msgstr "" #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2743,7 +2695,7 @@ msgid "Select supplier" msgstr "" #: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" @@ -2780,7 +2732,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: stock/models.py:643 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" @@ -2853,10 +2805,10 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:662 +#: stock/models.py:663 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -3105,7 +3057,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 +#: company/templates/company/supplier_part.html:24 stock/models.py:627 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3372,7 +3324,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" @@ -3429,7 +3381,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "" #: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" @@ -3491,7 +3443,7 @@ msgstr "" #: order/models.py:949 order/models.py:1031 order/models.py:1053 #: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "" @@ -3500,7 +3452,7 @@ msgstr "" #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" @@ -3511,7 +3463,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" @@ -3521,7 +3473,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3876,7 +3828,7 @@ msgstr "" #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3967,7 +3919,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "" @@ -4049,19 +4001,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1045 +#: part/api.py:1037 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1049 +#: part/api.py:1041 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1064 +#: part/api.py:1056 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 msgid "This field is required" msgstr "" @@ -5115,7 +5067,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5496,6 +5448,58 @@ msgstr "" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "هیچ عملیات کاربر-محوری، مشخص نشده است" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 +msgid "Must provide barcode_data parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:129 +msgid "No match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:131 +msgid "Match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:156 +msgid "Must provide stockitem parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:163 +msgid "No matching stock item found" +msgstr "" + +#: plugin/base/barcodes/api.py:193 +msgid "Barcode already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:197 +msgid "Barcode already matches Stock Location" +msgstr "" + +#: plugin/base/barcodes/api.py:201 +msgid "Barcode already matches Part" +msgstr "" + +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 +msgid "Barcode hash already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:225 +msgid "Barcode associated with Stock Item" +msgstr "" + +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5514,50 +5518,46 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:226 -msgid "Label printing failed" -msgstr "" - -#: plugin/integration.py:146 -msgid "No author found" -msgstr "" - -#: plugin/integration.py:160 -msgid "No date found" -msgstr "" - -#: plugin/models.py:27 +#: plugin/models.py:29 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:30 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:35 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:36 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:44 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:50 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:123 msgid "Plugin" msgstr "" -#: plugin/models.py:176 +#: plugin/models.py:197 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "" @@ -5724,12 +5724,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:667 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "" @@ -5738,19 +5738,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2193 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2199 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "" @@ -5785,12 +5785,12 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:94 stock/models.py:762 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:95 stock/models.py:763 msgid "Select Owner" msgstr "" @@ -5819,203 +5819,203 @@ msgstr "" msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:561 +#: stock/models.py:568 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:604 +#: stock/models.py:611 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:613 +#: stock/models.py:620 msgid "Base part" msgstr "" -#: stock/models.py:621 +#: stock/models.py:628 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:634 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:630 +#: stock/models.py:637 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:637 +#: stock/models.py:644 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:650 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "" -#: stock/models.py:646 +#: stock/models.py:653 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:662 +#: stock/models.py:669 msgid "Serial number for this item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:683 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:681 +#: stock/models.py:688 msgid "Stock Quantity" msgstr "" -#: stock/models.py:690 +#: stock/models.py:697 msgid "Source Build" msgstr "" -#: stock/models.py:692 +#: stock/models.py:699 msgid "Build for this stock item" msgstr "" -#: stock/models.py:703 +#: stock/models.py:710 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:706 +#: stock/models.py:713 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:712 +#: stock/models.py:719 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:725 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:719 +#: stock/models.py:726 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete on deplete" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:749 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:751 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:783 +#: stock/models.py:790 msgid "Converted to part" msgstr "" -#: stock/models.py:1303 +#: stock/models.py:1310 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1309 +#: stock/models.py:1316 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1315 +#: stock/models.py:1322 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1318 +#: stock/models.py:1325 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1328 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1335 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1399 +#: stock/models.py:1406 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1402 +#: stock/models.py:1409 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1405 +#: stock/models.py:1412 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1408 +#: stock/models.py:1415 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1411 +#: stock/models.py:1418 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1414 +#: stock/models.py:1421 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1428 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1429 +#: stock/models.py:1436 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1440 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1605 +#: stock/models.py:1612 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2106 +#: stock/models.py:2113 msgid "Entry notes" msgstr "" -#: stock/models.py:2163 +#: stock/models.py:2170 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2169 +#: stock/models.py:2176 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2187 +#: stock/models.py:2194 msgid "Test name" msgstr "" -#: stock/models.py:2193 +#: stock/models.py:2200 msgid "Test result" msgstr "" -#: stock/models.py:2199 +#: stock/models.py:2206 msgid "Test output value" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2213 msgid "Test result attachment" msgstr "" -#: stock/models.py:2212 +#: stock/models.py:2219 msgid "Test notes" msgstr "" @@ -8094,12 +8094,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "" @@ -8128,11 +8128,11 @@ msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "" @@ -8140,21 +8140,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "" @@ -8166,7 +8166,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8174,11 +8174,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "" @@ -8759,209 +8759,209 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index a738aefad9..0ba61d7e15 100644 --- a/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-10 04:16+0000\n" -"PO-Revision-Date: 2022-05-11 00:28\n" +"POT-Creation-Date: 2022-05-15 23:30+0000\n" +"PO-Revision-Date: 2022-05-16 01:09\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -17,18 +17,10 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:53 msgid "API endpoint not found" msgstr "Point de terminaison de l'API introuvable" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "Aucune action spécifiée" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "Aucune action correspondante trouvée" - #: InvenTree/fields.py:100 msgid "Enter date" msgstr "Entrer la date" @@ -128,7 +120,7 @@ msgstr "Fichier manquant" msgid "Missing external link" msgstr "Lien externe manquant" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2212 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "Pièce jointe" @@ -146,7 +138,7 @@ msgid "Link" msgstr "Lien" #: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: stock/models.py:677 msgid "Link to external URL" msgstr "Lien vers une url externe" @@ -158,10 +150,10 @@ msgstr "Commentaire" msgid "File comment" msgstr "Commentaire du fichier" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 +#: common/models.py:1547 common/models.py:1778 common/models.py:1779 +#: common/models.py:2006 common/models.py:2007 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -200,9 +192,9 @@ msgstr "Erreur lors du renommage du fichier" msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 #: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: part/models.py:2555 plugin/models.py:43 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -230,8 +222,8 @@ msgstr "Nom" #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -440,7 +432,7 @@ msgid "Returned" msgstr "Retourné" #: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "Expédié" @@ -616,46 +608,6 @@ msgstr "Les mots de passe doivent correspondre" msgid "System Information" msgstr "Informations système" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "Le paramètre barcode_data doit être fourni" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "Aucune correspondance trouvée pour les données du code-barres" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "Correspondance trouvée pour les données du code-barres" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "Vous devez fournir le paramètre stockitem" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "Aucun article d'inventaire correspondant trouvé" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "Le code-barres correspond déjà à l'objet StockItem" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "Le code-barres correspond déjà à l'objet Stock Location" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "Le code-barres correspond déjà à l'objet Part" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "Le code-barres correspond déjà à l'objet Stock Item" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "Code-barres associé à l'article en stock" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "Choix invalide pour la fabrication parente" @@ -687,8 +639,8 @@ msgstr "Référence de l' Ordre de Fabrication" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 +#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 msgid "Reference" msgstr "Référence" @@ -727,8 +679,8 @@ msgstr "BuildOrder associé a cette fabrication" #: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -750,7 +702,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Commande de vente à laquelle cette construction est allouée" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "Emplacement d'origine" @@ -791,7 +743,7 @@ msgid "Build status code" msgstr "Code de statut de construction" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: stock/models.py:681 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "Code de lot" @@ -800,7 +752,7 @@ msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" #: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "Date de création" @@ -834,7 +786,7 @@ msgstr "Utilisateur ayant émis cette commande de construction" #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "Responsable" @@ -845,7 +797,7 @@ msgstr "Utilisateur responsable de cette commande de construction" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 +#: part/templates/part/part_base.html:346 stock/models.py:675 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "Lien Externe" @@ -858,14 +810,14 @@ msgstr "Lien Externe" #: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 +#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "Notes" @@ -928,9 +880,9 @@ msgstr "Construction à laquelle allouer des pièces" #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" @@ -942,7 +894,7 @@ msgstr "Stock d'origine de l'article" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 +#: build/templates/build/detail.html:34 common/models.py:1589 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 @@ -964,10 +916,10 @@ msgstr "Stock d'origine de l'article" #: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -1015,7 +967,7 @@ msgstr "Entrer la quantité désiré pour la fabrication" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" @@ -1060,8 +1012,8 @@ msgstr "Une liste d'ordre de production doit être fourni" #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 @@ -1076,8 +1028,8 @@ msgstr "Emplacement des ordres de production achevés" #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "État" @@ -1278,9 +1230,9 @@ msgstr "Le stock n'a pas été entièrement alloué à cet ordre de construction #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "Date Cible" @@ -1314,7 +1266,7 @@ msgstr "Terminé" #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "Commandes" @@ -1350,7 +1302,7 @@ msgid "Stock can be taken from any available location." msgstr "Le stock peut être pris à partir de n'importe quel endroit disponible." #: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "Destination" @@ -1592,856 +1544,856 @@ msgstr "{name.title()} Fichier" msgid "Select {name} file to upload" msgstr "Sélectionner le fichier {name} à uploader" -#: common/models.py:387 +#: common/models.py:401 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:389 +#: common/models.py:403 msgid "Settings value" msgstr "Valeur du paramètre" -#: common/models.py:430 +#: common/models.py:444 msgid "Chosen value is not a valid option" msgstr "La valeur choisie n'est pas une option valide" -#: common/models.py:450 +#: common/models.py:464 msgid "Value must be a boolean value" msgstr "La valeur doit être une valeur booléenne" -#: common/models.py:461 +#: common/models.py:475 msgid "Value must be an integer value" msgstr "La valeur doit être un nombre entier" -#: common/models.py:510 +#: common/models.py:524 msgid "Key string must be unique" msgstr "La chaîne de caractères constituant la clé doit être unique" -#: common/models.py:742 +#: common/models.py:746 msgid "No group" msgstr "Pas de groupe" -#: common/models.py:784 +#: common/models.py:788 msgid "Restart required" msgstr "Redémarrage nécessaire" -#: common/models.py:785 +#: common/models.py:789 msgid "A setting has been changed which requires a server restart" msgstr "Un paramètre a été modifié, ce qui nécessite un redémarrage du serveur" -#: common/models.py:792 +#: common/models.py:796 msgid "Server Instance Name" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "String descriptor for the server instance" msgstr "Chaîne de caractères descriptive pour l'instance serveur" -#: common/models.py:798 +#: common/models.py:802 msgid "Use instance name" msgstr "Utiliser le nom de l'instance" -#: common/models.py:799 +#: common/models.py:803 msgid "Use the instance name in the title-bar" msgstr "Utiliser le nom de l’instance dans la barre de titre" -#: common/models.py:805 +#: common/models.py:809 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:816 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "Nom de la société" -#: common/models.py:813 +#: common/models.py:817 msgid "Internal company name" msgstr "Nom de société interne" -#: common/models.py:818 +#: common/models.py:822 msgid "Base URL" msgstr "URL de base" -#: common/models.py:819 +#: common/models.py:823 msgid "Base URL for server instance" msgstr "URL de base pour l'instance serveur" -#: common/models.py:825 +#: common/models.py:829 msgid "Default Currency" msgstr "Devise par défaut" -#: common/models.py:826 +#: common/models.py:830 msgid "Default currency" msgstr "Devises par défaut" -#: common/models.py:832 +#: common/models.py:836 msgid "Download from URL" msgstr "Télécharger depuis l'URL" -#: common/models.py:833 +#: common/models.py:837 msgid "Allow download of remote images and files from external URL" msgstr "Autoriser le téléchargement d'images distantes et de fichiers à partir d'URLs externes" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Support des code-barres" -#: common/models.py:840 +#: common/models.py:844 msgid "Enable barcode scanner support" msgstr "Activer le support du scanner de code-barres" -#: common/models.py:846 +#: common/models.py:850 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:851 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:857 msgid "IPN Regex" msgstr "Regex IPN" -#: common/models.py:854 +#: common/models.py:858 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:858 +#: common/models.py:862 msgid "Allow Duplicate IPN" msgstr "Autoriser les IPN dupliqués" -#: common/models.py:859 +#: common/models.py:863 msgid "Allow multiple parts to share the same IPN" msgstr "Permettre à plusieurs pièces de partager le même IPN" -#: common/models.py:865 +#: common/models.py:869 msgid "Allow Editing IPN" msgstr "Autoriser l'édition de l'IPN" -#: common/models.py:866 +#: common/models.py:870 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:872 +#: common/models.py:876 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:873 +#: common/models.py:877 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:883 msgid "Copy Part Parameter Data" msgstr "Copier les données des paramètres de la pièce" -#: common/models.py:880 +#: common/models.py:884 msgid "Copy parameter data by default when duplicating a part" msgstr "Copier les données des paramètres par défaut lors de la duplication d'une pièce" -#: common/models.py:886 +#: common/models.py:890 msgid "Copy Part Test Data" msgstr "Copier les données de test de la pièce" -#: common/models.py:887 +#: common/models.py:891 msgid "Copy test data by default when duplicating a part" msgstr "Copier les données de test par défaut lors de la duplication d'une pièce" -#: common/models.py:893 +#: common/models.py:897 msgid "Copy Category Parameter Templates" msgstr "Copier les templates de paramètres de catégorie" -#: common/models.py:894 +#: common/models.py:898 msgid "Copy category parameter templates when creating a part" msgstr "Copier les templates de paramètres de la catégorie lors de la création d'une pièce" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:904 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:901 +#: common/models.py:905 msgid "Parts are templates by default" msgstr "Les pièces sont des templates par défaut" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:908 +#: common/models.py:912 msgid "Parts can be assembled from other components by default" msgstr "Les composantes peuvent être assemblées à partir d'autres composants par défaut" -#: common/models.py:914 part/models.py:967 +#: common/models.py:918 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Composant" -#: common/models.py:915 +#: common/models.py:919 msgid "Parts can be used as sub-components by default" msgstr "Les composantes peuvent être utilisées comme sous-composants par défaut" -#: common/models.py:921 part/models.py:978 +#: common/models.py:925 part/models.py:978 msgid "Purchaseable" msgstr "Achetable" -#: common/models.py:922 +#: common/models.py:926 msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/models.py:928 part/models.py:983 +#: common/models.py:932 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Vendable" -#: common/models.py:929 +#: common/models.py:933 msgid "Parts are salable by default" msgstr "Les pièces sont vendables par défaut" -#: common/models.py:935 part/models.py:973 +#: common/models.py:939 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Traçable" -#: common/models.py:936 +#: common/models.py:940 msgid "Parts are trackable by default" msgstr "Les pièces sont traçables par défaut" -#: common/models.py:942 part/models.py:993 +#: common/models.py:946 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:943 +#: common/models.py:947 msgid "Parts are virtual by default" msgstr "Les pièces sont virtuelles par défaut" -#: common/models.py:949 +#: common/models.py:953 msgid "Show Import in Views" msgstr "Afficher l'import dans les vues" -#: common/models.py:950 +#: common/models.py:954 msgid "Display the import wizard in some part views" msgstr "Afficher l'assistant d'importation pour certaine vues de produits" -#: common/models.py:956 +#: common/models.py:960 msgid "Show Price in Forms" msgstr "Afficher le prix dans les formulaires" -#: common/models.py:957 +#: common/models.py:961 msgid "Display part price in some forms" msgstr "Afficher le prix de la pièce dans certains formulaires" -#: common/models.py:968 +#: common/models.py:972 msgid "Show Price in BOM" msgstr "Afficher le prix dans la BOM" -#: common/models.py:969 +#: common/models.py:973 msgid "Include pricing information in BOM tables" msgstr "Inclure les informations de prix dans les tableaux de la BOM" -#: common/models.py:980 +#: common/models.py:984 msgid "Show Price History" msgstr "Historique des prix" -#: common/models.py:981 +#: common/models.py:985 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:987 +#: common/models.py:991 msgid "Show related parts" msgstr "Afficher les pièces connexes" -#: common/models.py:988 +#: common/models.py:992 msgid "Display related parts for a part" msgstr "Afficher les pièces connexes à une pièce" -#: common/models.py:994 +#: common/models.py:998 msgid "Create initial stock" msgstr "Créer un stock initial" -#: common/models.py:995 +#: common/models.py:999 msgid "Create initial stock on part creation" msgstr "Créer le stock initial lors de la création d'une pièce" -#: common/models.py:1001 +#: common/models.py:1005 msgid "Internal Prices" msgstr "Prix internes" -#: common/models.py:1002 +#: common/models.py:1006 msgid "Enable internal prices for parts" msgstr "Activer les prix internes pour les pièces" -#: common/models.py:1008 +#: common/models.py:1012 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1009 +#: common/models.py:1013 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1015 +#: common/models.py:1019 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1016 +#: common/models.py:1020 msgid "Format to display the part name" msgstr "" -#: common/models.py:1023 +#: common/models.py:1027 msgid "Enable Reports" msgstr "" -#: common/models.py:1024 +#: common/models.py:1028 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1034 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1031 +#: common/models.py:1035 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1037 +#: common/models.py:1041 msgid "Page Size" msgstr "Taille de la page" -#: common/models.py:1038 +#: common/models.py:1042 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1048 +#: common/models.py:1052 msgid "Test Reports" msgstr "Rapports de test" -#: common/models.py:1049 +#: common/models.py:1053 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1055 +#: common/models.py:1059 msgid "Batch Code Template" msgstr "" -#: common/models.py:1056 +#: common/models.py:1060 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1061 +#: common/models.py:1065 msgid "Stock Expiry" msgstr "" -#: common/models.py:1062 +#: common/models.py:1066 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1068 +#: common/models.py:1072 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1069 +#: common/models.py:1073 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1075 +#: common/models.py:1079 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1076 +#: common/models.py:1080 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1078 +#: common/models.py:1082 msgid "days" msgstr "jours" -#: common/models.py:1083 +#: common/models.py:1087 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1084 +#: common/models.py:1088 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1090 +#: common/models.py:1094 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1091 +#: common/models.py:1095 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1097 +#: common/models.py:1101 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1098 +#: common/models.py:1102 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1103 +#: common/models.py:1107 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1104 +#: common/models.py:1108 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1108 +#: common/models.py:1112 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1109 +#: common/models.py:1113 msgid "Prefix value for sales order reference" msgstr "Valeur préfixe référence commande client" -#: common/models.py:1114 +#: common/models.py:1118 msgid "Purchase Order Reference Prefix" msgstr "Préfixe des commandes d'achats" -#: common/models.py:1115 +#: common/models.py:1119 msgid "Prefix value for purchase order reference" msgstr "Valeur préfixe référence bon de commande" -#: common/models.py:1121 +#: common/models.py:1125 msgid "Enable password forgot" msgstr "Activer les mots de passe oubliés" -#: common/models.py:1122 +#: common/models.py:1126 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1128 +#: common/models.py:1132 msgid "Enable registration" msgstr "Activer les inscriptions" -#: common/models.py:1129 +#: common/models.py:1133 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1135 +#: common/models.py:1139 msgid "Enable SSO" msgstr "Activer le SSO" -#: common/models.py:1136 +#: common/models.py:1140 msgid "Enable SSO on the login pages" msgstr "Activer le SSO sur les pages de connexion" -#: common/models.py:1142 +#: common/models.py:1146 msgid "Email required" msgstr "Email requis" -#: common/models.py:1143 +#: common/models.py:1147 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1149 +#: common/models.py:1153 msgid "Auto-fill SSO users" msgstr "Saisie automatique des utilisateurs SSO" -#: common/models.py:1150 +#: common/models.py:1154 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1156 +#: common/models.py:1160 msgid "Mail twice" msgstr "Courriel en double" -#: common/models.py:1157 +#: common/models.py:1161 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1163 +#: common/models.py:1167 msgid "Password twice" msgstr "" -#: common/models.py:1164 +#: common/models.py:1168 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1170 +#: common/models.py:1174 msgid "Group on signup" msgstr "" -#: common/models.py:1171 +#: common/models.py:1175 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1177 +#: common/models.py:1181 msgid "Enforce MFA" msgstr "" -#: common/models.py:1178 +#: common/models.py:1182 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1184 +#: common/models.py:1188 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1185 +#: common/models.py:1189 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1193 +#: common/models.py:1197 msgid "Enable URL integration" msgstr "" -#: common/models.py:1194 +#: common/models.py:1198 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1201 +#: common/models.py:1205 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1202 +#: common/models.py:1206 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1209 +#: common/models.py:1213 msgid "Enable app integration" msgstr "Activer l'intégration de plugins" -#: common/models.py:1210 +#: common/models.py:1214 msgid "Enable plugins to add apps" msgstr "Activer l'intégration de plugin pour ajouter des apps" -#: common/models.py:1217 +#: common/models.py:1221 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1218 +#: common/models.py:1222 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1225 +#: common/models.py:1229 msgid "Enable event integration" msgstr "" -#: common/models.py:1226 +#: common/models.py:1230 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1245 common/models.py:1539 msgid "Settings key (must be unique - case insensitive" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:1272 +#: common/models.py:1276 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1273 +#: common/models.py:1277 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1279 +#: common/models.py:1283 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1280 +#: common/models.py:1284 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1286 +#: common/models.py:1290 msgid "Show latest parts" msgstr "Afficher les dernières pièces" -#: common/models.py:1287 +#: common/models.py:1291 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1293 +#: common/models.py:1297 msgid "Recent Part Count" msgstr "" -#: common/models.py:1294 +#: common/models.py:1298 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1300 +#: common/models.py:1304 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1301 +#: common/models.py:1305 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1311 msgid "Show recent stock changes" msgstr "Afficher les dernières modifications du stock" -#: common/models.py:1308 +#: common/models.py:1312 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1314 +#: common/models.py:1318 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1315 +#: common/models.py:1319 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1321 +#: common/models.py:1325 msgid "Show low stock" msgstr "" -#: common/models.py:1322 +#: common/models.py:1326 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1332 msgid "Show depleted stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1333 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1339 msgid "Show needed stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1340 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1346 msgid "Show expired stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1347 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1353 msgid "Show stale stock" msgstr "" -#: common/models.py:1350 +#: common/models.py:1354 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1360 msgid "Show pending builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1361 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1367 msgid "Show overdue builds" msgstr "" -#: common/models.py:1364 +#: common/models.py:1368 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1374 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1375 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1381 msgid "Show overdue POs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1382 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1388 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1389 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1391 +#: common/models.py:1395 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1392 +#: common/models.py:1396 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1397 +#: common/models.py:1401 msgid "Enable label printing" msgstr "" -#: common/models.py:1398 +#: common/models.py:1402 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1404 +#: common/models.py:1408 msgid "Inline label display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1409 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1415 msgid "Inline report display" msgstr "" -#: common/models.py:1412 +#: common/models.py:1416 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1418 +#: common/models.py:1422 msgid "Search Parts" msgstr "" -#: common/models.py:1419 +#: common/models.py:1423 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1429 msgid "Search Categories" msgstr "" -#: common/models.py:1426 +#: common/models.py:1430 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1436 msgid "Search Stock" msgstr "" -#: common/models.py:1433 +#: common/models.py:1437 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1443 msgid "Search Locations" msgstr "" -#: common/models.py:1440 +#: common/models.py:1444 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1450 msgid "Search Companies" msgstr "" -#: common/models.py:1447 +#: common/models.py:1451 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1457 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1458 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1464 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1461 +#: common/models.py:1465 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1471 msgid "Search Preview Results" msgstr "" -#: common/models.py:1468 +#: common/models.py:1472 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1478 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1475 +#: common/models.py:1479 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1481 +#: common/models.py:1485 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1482 +#: common/models.py:1486 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1492 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1489 +#: common/models.py:1493 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1495 +#: common/models.py:1499 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1496 +#: common/models.py:1500 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1502 +#: common/models.py:1506 msgid "Date Format" msgstr "" -#: common/models.py:1503 +#: common/models.py:1507 msgid "Preferred format for displaying dates" msgstr "Format préféré pour l'affichage des dates" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1521 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1518 +#: common/models.py:1522 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1590 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1583 company/serializers.py:264 +#: common/models.py:1597 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "Prix" -#: common/models.py:1584 +#: common/models.py:1598 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1755 common/models.py:1892 msgid "Endpoint" msgstr "" -#: common/models.py:1742 +#: common/models.py:1756 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1751 +#: common/models.py:1765 msgid "Name for this webhook" msgstr "" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1770 part/models.py:988 plugin/models.py:49 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2449,67 +2401,67 @@ msgstr "" msgid "Active" msgstr "Actif" -#: common/models.py:1757 +#: common/models.py:1771 msgid "Is this webhook active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1785 msgid "Token" msgstr "" -#: common/models.py:1772 +#: common/models.py:1786 msgid "Token for access" msgstr "" -#: common/models.py:1779 +#: common/models.py:1793 msgid "Secret" msgstr "" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1847 +#: common/models.py:1859 msgid "Message ID" msgstr "" -#: common/models.py:1848 +#: common/models.py:1860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Host" msgstr "" -#: common/models.py:1857 +#: common/models.py:1869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Header" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Header of this message" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Body" msgstr "" -#: common/models.py:1872 +#: common/models.py:1884 msgid "Body of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1893 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Worked on" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Was the work on this message finished?" msgstr "" @@ -2646,7 +2598,7 @@ msgstr "Devise" msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:612 +#: company/models.py:317 company/models.py:532 stock/models.py:619 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "" @@ -2673,7 +2625,7 @@ msgstr "Sélectionner un fabricant" #: company/models.py:339 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" @@ -2703,7 +2655,7 @@ msgstr "" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2205 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "Valeur" @@ -2732,7 +2684,7 @@ msgstr "" #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2743,7 +2695,7 @@ msgid "Select supplier" msgstr "" #: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" @@ -2780,7 +2732,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: stock/models.py:643 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" @@ -2853,10 +2805,10 @@ msgid "Download image from URL" msgstr "Télécharger l'image depuis l'URL" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:662 +#: stock/models.py:663 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -3105,7 +3057,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 +#: company/templates/company/supplier_part.html:24 stock/models.py:627 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3372,7 +3324,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" @@ -3429,7 +3381,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "" #: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "Nom de l’expédition" @@ -3491,7 +3443,7 @@ msgstr "" #: order/models.py:949 order/models.py:1031 order/models.py:1053 #: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "Commande" @@ -3500,7 +3452,7 @@ msgstr "Commande" #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" @@ -3511,7 +3463,7 @@ msgid "Supplier part" msgstr "Pièce fournisseur" #: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" @@ -3521,7 +3473,7 @@ msgstr "Reçu" msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3876,7 +3828,7 @@ msgstr "" #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3967,7 +3919,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "" @@ -4049,19 +4001,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1045 +#: part/api.py:1037 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1049 +#: part/api.py:1041 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1064 +#: part/api.py:1056 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 msgid "This field is required" msgstr "" @@ -5115,7 +5067,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5496,6 +5448,58 @@ msgstr "" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "Aucune action spécifiée" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "Aucune action correspondante trouvée" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 +msgid "Must provide barcode_data parameter" +msgstr "Le paramètre barcode_data doit être fourni" + +#: plugin/base/barcodes/api.py:129 +msgid "No match found for barcode data" +msgstr "Aucune correspondance trouvée pour les données du code-barres" + +#: plugin/base/barcodes/api.py:131 +msgid "Match found for barcode data" +msgstr "Correspondance trouvée pour les données du code-barres" + +#: plugin/base/barcodes/api.py:156 +msgid "Must provide stockitem parameter" +msgstr "Vous devez fournir le paramètre stockitem" + +#: plugin/base/barcodes/api.py:163 +msgid "No matching stock item found" +msgstr "Aucun article d'inventaire correspondant trouvé" + +#: plugin/base/barcodes/api.py:193 +msgid "Barcode already matches Stock Item" +msgstr "Le code-barres correspond déjà à l'objet StockItem" + +#: plugin/base/barcodes/api.py:197 +msgid "Barcode already matches Stock Location" +msgstr "Le code-barres correspond déjà à l'objet Stock Location" + +#: plugin/base/barcodes/api.py:201 +msgid "Barcode already matches Part" +msgstr "Le code-barres correspond déjà à l'objet Part" + +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 +msgid "Barcode hash already matches Stock Item" +msgstr "Le code-barres correspond déjà à l'objet Stock Item" + +#: plugin/base/barcodes/api.py:225 +msgid "Barcode associated with Stock Item" +msgstr "Code-barres associé à l'article en stock" + +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5514,50 +5518,46 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:226 -msgid "Label printing failed" -msgstr "" - -#: plugin/integration.py:146 -msgid "No author found" -msgstr "" - -#: plugin/integration.py:160 -msgid "No date found" -msgstr "" - -#: plugin/models.py:27 +#: plugin/models.py:29 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:30 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:35 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:36 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:44 msgid "PluginName of the plugin" msgstr "Non du Plugin" -#: plugin/models.py:48 +#: plugin/models.py:50 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:123 msgid "Plugin" msgstr "" -#: plugin/models.py:176 +#: plugin/models.py:197 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "" @@ -5724,12 +5724,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:667 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "Numéro de série" @@ -5738,19 +5738,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2193 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2199 msgid "Result" msgstr "Résultat" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "" @@ -5785,12 +5785,12 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:94 stock/models.py:762 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "Propriétaire" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:95 stock/models.py:763 msgid "Select Owner" msgstr "Sélectionner un propriétaire" @@ -5819,203 +5819,203 @@ msgstr "" msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:561 +#: stock/models.py:568 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:604 +#: stock/models.py:611 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:613 +#: stock/models.py:620 msgid "Base part" msgstr "" -#: stock/models.py:621 +#: stock/models.py:628 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:634 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:630 +#: stock/models.py:637 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:637 +#: stock/models.py:644 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:650 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "" -#: stock/models.py:646 +#: stock/models.py:653 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:662 +#: stock/models.py:669 msgid "Serial number for this item" msgstr "Numéro de série pour cet article" -#: stock/models.py:676 +#: stock/models.py:683 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:681 +#: stock/models.py:688 msgid "Stock Quantity" msgstr "" -#: stock/models.py:690 +#: stock/models.py:697 msgid "Source Build" msgstr "" -#: stock/models.py:692 +#: stock/models.py:699 msgid "Build for this stock item" msgstr "" -#: stock/models.py:703 +#: stock/models.py:710 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:706 +#: stock/models.py:713 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:712 +#: stock/models.py:719 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:725 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:719 +#: stock/models.py:726 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete on deplete" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:749 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:751 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:783 +#: stock/models.py:790 msgid "Converted to part" msgstr "" -#: stock/models.py:1303 +#: stock/models.py:1310 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1309 +#: stock/models.py:1316 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1315 +#: stock/models.py:1322 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1318 +#: stock/models.py:1325 msgid "Serial numbers must be a list of integers" msgstr "Les numéros de série doivent être une liste de nombres entiers" -#: stock/models.py:1321 +#: stock/models.py:1328 msgid "Quantity does not match serial numbers" msgstr "La quantité ne correspond pas au nombre de numéros de série" -#: stock/models.py:1328 +#: stock/models.py:1335 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Les numéros de série existent déja : {exists}" -#: stock/models.py:1399 +#: stock/models.py:1406 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1402 +#: stock/models.py:1409 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1405 +#: stock/models.py:1412 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1408 +#: stock/models.py:1415 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1411 +#: stock/models.py:1418 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1414 +#: stock/models.py:1421 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1428 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1429 +#: stock/models.py:1436 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1440 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1605 +#: stock/models.py:1612 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2106 +#: stock/models.py:2113 msgid "Entry notes" msgstr "" -#: stock/models.py:2163 +#: stock/models.py:2170 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2169 +#: stock/models.py:2176 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2187 +#: stock/models.py:2194 msgid "Test name" msgstr "" -#: stock/models.py:2193 +#: stock/models.py:2200 msgid "Test result" msgstr "" -#: stock/models.py:2199 +#: stock/models.py:2206 msgid "Test output value" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2213 msgid "Test result attachment" msgstr "" -#: stock/models.py:2212 +#: stock/models.py:2219 msgid "Test notes" msgstr "" @@ -8094,12 +8094,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "" @@ -8128,11 +8128,11 @@ msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "" @@ -8140,21 +8140,21 @@ msgstr "" msgid "Order stock" msgstr "Commander des stocks" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "" @@ -8166,7 +8166,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8174,11 +8174,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "" @@ -8759,209 +8759,209 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "Commande en retard" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "Livré au client" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "Allouer des numéros de série" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "Acheter du stock" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "Calculer le prix" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "Allouer des numéros de série" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index 0cb092eb53..97f9ef552a 100644 --- a/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/InvenTree/locale/he/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-10 04:16+0000\n" -"PO-Revision-Date: 2022-05-11 00:29\n" +"POT-Creation-Date: 2022-05-15 23:30+0000\n" +"PO-Revision-Date: 2022-05-16 01:10\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -17,18 +17,10 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:53 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "לא פורטה הפעולה" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "פעולה מבוקשת לא נמצאה" - #: InvenTree/fields.py:100 msgid "Enter date" msgstr "הזן תאריך סיום" @@ -128,7 +120,7 @@ msgstr "קובץ חסר" msgid "Missing external link" msgstr "חסר קישור חיצוני" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2212 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "קובץ מצורף" @@ -146,7 +138,7 @@ msgid "Link" msgstr "קישור" #: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: stock/models.py:677 msgid "Link to external URL" msgstr "קישור חיצוני" @@ -158,10 +150,10 @@ msgstr "הערה" msgid "File comment" msgstr "הערת קובץ" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 +#: common/models.py:1547 common/models.py:1778 common/models.py:1779 +#: common/models.py:2006 common/models.py:2007 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -200,9 +192,9 @@ msgstr "שגיאה בשינוי שם פריט" msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 #: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: part/models.py:2555 plugin/models.py:43 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -230,8 +222,8 @@ msgstr "שם" #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -440,7 +432,7 @@ msgid "Returned" msgstr "הוחזר" #: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "נשלח" @@ -616,46 +608,6 @@ msgstr "הסיסמאות מוכרחות להיות תואמות" msgid "System Information" msgstr "מידע אודות המערכת" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "הפרמטר barcode_data מוכרח להיות תקין" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "" @@ -687,8 +639,8 @@ msgstr "" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 +#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 msgid "Reference" msgstr "מקט" @@ -727,8 +679,8 @@ msgstr "" #: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -750,7 +702,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" @@ -791,7 +743,7 @@ msgid "Build status code" msgstr "" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: stock/models.py:681 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" @@ -800,7 +752,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" @@ -834,7 +786,7 @@ msgstr "" #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" @@ -845,7 +797,7 @@ msgstr "" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 +#: part/templates/part/part_base.html:346 stock/models.py:675 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "" @@ -858,14 +810,14 @@ msgstr "" #: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 +#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "" @@ -928,9 +880,9 @@ msgstr "" #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" @@ -942,7 +894,7 @@ msgstr "" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 +#: build/templates/build/detail.html:34 common/models.py:1589 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 @@ -964,10 +916,10 @@ msgstr "" #: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -1015,7 +967,7 @@ msgstr "" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "" @@ -1060,8 +1012,8 @@ msgstr "" #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 @@ -1076,8 +1028,8 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "" @@ -1278,9 +1230,9 @@ msgstr "" #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "" @@ -1314,7 +1266,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1350,7 +1302,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1592,856 +1544,856 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:387 +#: common/models.py:401 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:389 +#: common/models.py:403 msgid "Settings value" msgstr "" -#: common/models.py:430 +#: common/models.py:444 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:450 +#: common/models.py:464 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:461 +#: common/models.py:475 msgid "Value must be an integer value" msgstr "" -#: common/models.py:510 +#: common/models.py:524 msgid "Key string must be unique" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "No group" msgstr "" -#: common/models.py:784 +#: common/models.py:788 msgid "Restart required" msgstr "" -#: common/models.py:785 +#: common/models.py:789 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:792 +#: common/models.py:796 msgid "Server Instance Name" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:798 +#: common/models.py:802 msgid "Use instance name" msgstr "" -#: common/models.py:799 +#: common/models.py:803 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:805 +#: common/models.py:809 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:816 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Internal company name" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Base URL" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Base URL for server instance" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Default Currency" msgstr "" -#: common/models.py:826 +#: common/models.py:830 msgid "Default currency" msgstr "" -#: common/models.py:832 +#: common/models.py:836 msgid "Download from URL" msgstr "" -#: common/models.py:833 +#: common/models.py:837 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:840 +#: common/models.py:844 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:846 +#: common/models.py:850 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:851 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:857 msgid "IPN Regex" msgstr "" -#: common/models.py:854 +#: common/models.py:858 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:858 +#: common/models.py:862 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:859 +#: common/models.py:863 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:865 +#: common/models.py:869 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:866 +#: common/models.py:870 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:872 +#: common/models.py:876 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:873 +#: common/models.py:877 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:883 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:880 +#: common/models.py:884 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:886 +#: common/models.py:890 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:887 +#: common/models.py:891 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:893 +#: common/models.py:897 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:894 +#: common/models.py:898 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:904 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:901 +#: common/models.py:905 msgid "Parts are templates by default" msgstr "" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:908 +#: common/models.py:912 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:914 part/models.py:967 +#: common/models.py:918 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:915 +#: common/models.py:919 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:921 part/models.py:978 +#: common/models.py:925 part/models.py:978 msgid "Purchaseable" msgstr "" -#: common/models.py:922 +#: common/models.py:926 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:928 part/models.py:983 +#: common/models.py:932 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:929 +#: common/models.py:933 msgid "Parts are salable by default" msgstr "" -#: common/models.py:935 part/models.py:973 +#: common/models.py:939 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:936 +#: common/models.py:940 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:942 part/models.py:993 +#: common/models.py:946 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:943 +#: common/models.py:947 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:949 +#: common/models.py:953 msgid "Show Import in Views" msgstr "" -#: common/models.py:950 +#: common/models.py:954 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:956 +#: common/models.py:960 msgid "Show Price in Forms" msgstr "" -#: common/models.py:957 +#: common/models.py:961 msgid "Display part price in some forms" msgstr "" -#: common/models.py:968 +#: common/models.py:972 msgid "Show Price in BOM" msgstr "" -#: common/models.py:969 +#: common/models.py:973 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:980 +#: common/models.py:984 msgid "Show Price History" msgstr "" -#: common/models.py:981 +#: common/models.py:985 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:987 +#: common/models.py:991 msgid "Show related parts" msgstr "" -#: common/models.py:988 +#: common/models.py:992 msgid "Display related parts for a part" msgstr "" -#: common/models.py:994 +#: common/models.py:998 msgid "Create initial stock" msgstr "" -#: common/models.py:995 +#: common/models.py:999 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1001 +#: common/models.py:1005 msgid "Internal Prices" msgstr "" -#: common/models.py:1002 +#: common/models.py:1006 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1008 +#: common/models.py:1012 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1009 +#: common/models.py:1013 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1015 +#: common/models.py:1019 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1016 +#: common/models.py:1020 msgid "Format to display the part name" msgstr "" -#: common/models.py:1023 +#: common/models.py:1027 msgid "Enable Reports" msgstr "" -#: common/models.py:1024 +#: common/models.py:1028 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1034 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1031 +#: common/models.py:1035 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1037 +#: common/models.py:1041 msgid "Page Size" msgstr "" -#: common/models.py:1038 +#: common/models.py:1042 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1048 +#: common/models.py:1052 msgid "Test Reports" msgstr "" -#: common/models.py:1049 +#: common/models.py:1053 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1055 +#: common/models.py:1059 msgid "Batch Code Template" msgstr "" -#: common/models.py:1056 +#: common/models.py:1060 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1061 +#: common/models.py:1065 msgid "Stock Expiry" msgstr "" -#: common/models.py:1062 +#: common/models.py:1066 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1068 +#: common/models.py:1072 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1069 +#: common/models.py:1073 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1075 +#: common/models.py:1079 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1076 +#: common/models.py:1080 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1078 +#: common/models.py:1082 msgid "days" msgstr "" -#: common/models.py:1083 +#: common/models.py:1087 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1084 +#: common/models.py:1088 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1090 +#: common/models.py:1094 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1091 +#: common/models.py:1095 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1097 +#: common/models.py:1101 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1098 +#: common/models.py:1102 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1103 +#: common/models.py:1107 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1104 +#: common/models.py:1108 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1108 +#: common/models.py:1112 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1109 +#: common/models.py:1113 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1118 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1115 +#: common/models.py:1119 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1121 +#: common/models.py:1125 msgid "Enable password forgot" msgstr "" -#: common/models.py:1122 +#: common/models.py:1126 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1128 +#: common/models.py:1132 msgid "Enable registration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1133 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1135 +#: common/models.py:1139 msgid "Enable SSO" msgstr "" -#: common/models.py:1136 +#: common/models.py:1140 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1142 +#: common/models.py:1146 msgid "Email required" msgstr "" -#: common/models.py:1143 +#: common/models.py:1147 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1149 +#: common/models.py:1153 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1150 +#: common/models.py:1154 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1156 +#: common/models.py:1160 msgid "Mail twice" msgstr "" -#: common/models.py:1157 +#: common/models.py:1161 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1163 +#: common/models.py:1167 msgid "Password twice" msgstr "" -#: common/models.py:1164 +#: common/models.py:1168 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1170 +#: common/models.py:1174 msgid "Group on signup" msgstr "" -#: common/models.py:1171 +#: common/models.py:1175 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1177 +#: common/models.py:1181 msgid "Enforce MFA" msgstr "" -#: common/models.py:1178 +#: common/models.py:1182 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1184 +#: common/models.py:1188 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1185 +#: common/models.py:1189 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1193 +#: common/models.py:1197 msgid "Enable URL integration" msgstr "" -#: common/models.py:1194 +#: common/models.py:1198 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1201 +#: common/models.py:1205 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1202 +#: common/models.py:1206 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1209 +#: common/models.py:1213 msgid "Enable app integration" msgstr "" -#: common/models.py:1210 +#: common/models.py:1214 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1217 +#: common/models.py:1221 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1218 +#: common/models.py:1222 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1225 +#: common/models.py:1229 msgid "Enable event integration" msgstr "" -#: common/models.py:1226 +#: common/models.py:1230 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1245 common/models.py:1539 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1272 +#: common/models.py:1276 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1273 +#: common/models.py:1277 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1279 +#: common/models.py:1283 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1280 +#: common/models.py:1284 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1286 +#: common/models.py:1290 msgid "Show latest parts" msgstr "" -#: common/models.py:1287 +#: common/models.py:1291 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1293 +#: common/models.py:1297 msgid "Recent Part Count" msgstr "" -#: common/models.py:1294 +#: common/models.py:1298 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1300 +#: common/models.py:1304 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1301 +#: common/models.py:1305 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1311 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1308 +#: common/models.py:1312 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1314 +#: common/models.py:1318 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1315 +#: common/models.py:1319 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1321 +#: common/models.py:1325 msgid "Show low stock" msgstr "" -#: common/models.py:1322 +#: common/models.py:1326 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1332 msgid "Show depleted stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1333 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1339 msgid "Show needed stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1340 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1346 msgid "Show expired stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1347 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1353 msgid "Show stale stock" msgstr "" -#: common/models.py:1350 +#: common/models.py:1354 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1360 msgid "Show pending builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1361 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1367 msgid "Show overdue builds" msgstr "" -#: common/models.py:1364 +#: common/models.py:1368 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1374 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1375 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1381 msgid "Show overdue POs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1382 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1388 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1389 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1391 +#: common/models.py:1395 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1392 +#: common/models.py:1396 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1397 +#: common/models.py:1401 msgid "Enable label printing" msgstr "" -#: common/models.py:1398 +#: common/models.py:1402 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1404 +#: common/models.py:1408 msgid "Inline label display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1409 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1415 msgid "Inline report display" msgstr "" -#: common/models.py:1412 +#: common/models.py:1416 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1418 +#: common/models.py:1422 msgid "Search Parts" msgstr "" -#: common/models.py:1419 +#: common/models.py:1423 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1429 msgid "Search Categories" msgstr "" -#: common/models.py:1426 +#: common/models.py:1430 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1436 msgid "Search Stock" msgstr "" -#: common/models.py:1433 +#: common/models.py:1437 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1443 msgid "Search Locations" msgstr "" -#: common/models.py:1440 +#: common/models.py:1444 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1450 msgid "Search Companies" msgstr "" -#: common/models.py:1447 +#: common/models.py:1451 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1457 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1458 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1464 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1461 +#: common/models.py:1465 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1471 msgid "Search Preview Results" msgstr "" -#: common/models.py:1468 +#: common/models.py:1472 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1478 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1475 +#: common/models.py:1479 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1481 +#: common/models.py:1485 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1482 +#: common/models.py:1486 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1492 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1489 +#: common/models.py:1493 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1495 +#: common/models.py:1499 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1496 +#: common/models.py:1500 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1502 +#: common/models.py:1506 msgid "Date Format" msgstr "" -#: common/models.py:1503 +#: common/models.py:1507 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1521 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1518 +#: common/models.py:1522 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1590 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1583 company/serializers.py:264 +#: common/models.py:1597 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1584 +#: common/models.py:1598 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1755 common/models.py:1892 msgid "Endpoint" msgstr "" -#: common/models.py:1742 +#: common/models.py:1756 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1751 +#: common/models.py:1765 msgid "Name for this webhook" msgstr "" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1770 part/models.py:988 plugin/models.py:49 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2449,67 +2401,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1757 +#: common/models.py:1771 msgid "Is this webhook active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1785 msgid "Token" msgstr "" -#: common/models.py:1772 +#: common/models.py:1786 msgid "Token for access" msgstr "" -#: common/models.py:1779 +#: common/models.py:1793 msgid "Secret" msgstr "" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1847 +#: common/models.py:1859 msgid "Message ID" msgstr "" -#: common/models.py:1848 +#: common/models.py:1860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Host" msgstr "" -#: common/models.py:1857 +#: common/models.py:1869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Header" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Header of this message" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Body" msgstr "" -#: common/models.py:1872 +#: common/models.py:1884 msgid "Body of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1893 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Worked on" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Was the work on this message finished?" msgstr "" @@ -2646,7 +2598,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:612 +#: company/models.py:317 company/models.py:532 stock/models.py:619 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "" @@ -2673,7 +2625,7 @@ msgstr "" #: company/models.py:339 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" @@ -2703,7 +2655,7 @@ msgstr "" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2205 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2732,7 +2684,7 @@ msgstr "" #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2743,7 +2695,7 @@ msgid "Select supplier" msgstr "" #: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" @@ -2780,7 +2732,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: stock/models.py:643 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" @@ -2853,10 +2805,10 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:662 +#: stock/models.py:663 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -3105,7 +3057,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 +#: company/templates/company/supplier_part.html:24 stock/models.py:627 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3372,7 +3324,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" @@ -3429,7 +3381,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "" #: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" @@ -3491,7 +3443,7 @@ msgstr "" #: order/models.py:949 order/models.py:1031 order/models.py:1053 #: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "" @@ -3500,7 +3452,7 @@ msgstr "" #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" @@ -3511,7 +3463,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" @@ -3521,7 +3473,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3876,7 +3828,7 @@ msgstr "" #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3967,7 +3919,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "" @@ -4049,19 +4001,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1045 +#: part/api.py:1037 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1049 +#: part/api.py:1041 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1064 +#: part/api.py:1056 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 msgid "This field is required" msgstr "" @@ -5115,7 +5067,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5496,6 +5448,58 @@ msgstr "" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "לא פורטה הפעולה" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "פעולה מבוקשת לא נמצאה" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 +msgid "Must provide barcode_data parameter" +msgstr "הפרמטר barcode_data מוכרח להיות תקין" + +#: plugin/base/barcodes/api.py:129 +msgid "No match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:131 +msgid "Match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:156 +msgid "Must provide stockitem parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:163 +msgid "No matching stock item found" +msgstr "" + +#: plugin/base/barcodes/api.py:193 +msgid "Barcode already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:197 +msgid "Barcode already matches Stock Location" +msgstr "" + +#: plugin/base/barcodes/api.py:201 +msgid "Barcode already matches Part" +msgstr "" + +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 +msgid "Barcode hash already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:225 +msgid "Barcode associated with Stock Item" +msgstr "" + +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5514,50 +5518,46 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:226 -msgid "Label printing failed" -msgstr "" - -#: plugin/integration.py:146 -msgid "No author found" -msgstr "" - -#: plugin/integration.py:160 -msgid "No date found" -msgstr "" - -#: plugin/models.py:27 +#: plugin/models.py:29 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:30 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:35 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:36 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:44 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:50 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:123 msgid "Plugin" msgstr "" -#: plugin/models.py:176 +#: plugin/models.py:197 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "" @@ -5724,12 +5724,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:667 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "" @@ -5738,19 +5738,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2193 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2199 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "" @@ -5785,12 +5785,12 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:94 stock/models.py:762 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:95 stock/models.py:763 msgid "Select Owner" msgstr "" @@ -5819,203 +5819,203 @@ msgstr "" msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:561 +#: stock/models.py:568 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:604 +#: stock/models.py:611 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:613 +#: stock/models.py:620 msgid "Base part" msgstr "" -#: stock/models.py:621 +#: stock/models.py:628 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:634 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:630 +#: stock/models.py:637 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:637 +#: stock/models.py:644 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:650 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "" -#: stock/models.py:646 +#: stock/models.py:653 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:662 +#: stock/models.py:669 msgid "Serial number for this item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:683 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:681 +#: stock/models.py:688 msgid "Stock Quantity" msgstr "" -#: stock/models.py:690 +#: stock/models.py:697 msgid "Source Build" msgstr "" -#: stock/models.py:692 +#: stock/models.py:699 msgid "Build for this stock item" msgstr "" -#: stock/models.py:703 +#: stock/models.py:710 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:706 +#: stock/models.py:713 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:712 +#: stock/models.py:719 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:725 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:719 +#: stock/models.py:726 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete on deplete" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:749 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:751 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:783 +#: stock/models.py:790 msgid "Converted to part" msgstr "" -#: stock/models.py:1303 +#: stock/models.py:1310 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1309 +#: stock/models.py:1316 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1315 +#: stock/models.py:1322 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1318 +#: stock/models.py:1325 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1328 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1335 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1399 +#: stock/models.py:1406 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1402 +#: stock/models.py:1409 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1405 +#: stock/models.py:1412 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1408 +#: stock/models.py:1415 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1411 +#: stock/models.py:1418 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1414 +#: stock/models.py:1421 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1428 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1429 +#: stock/models.py:1436 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1440 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1605 +#: stock/models.py:1612 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2106 +#: stock/models.py:2113 msgid "Entry notes" msgstr "" -#: stock/models.py:2163 +#: stock/models.py:2170 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2169 +#: stock/models.py:2176 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2187 +#: stock/models.py:2194 msgid "Test name" msgstr "" -#: stock/models.py:2193 +#: stock/models.py:2200 msgid "Test result" msgstr "" -#: stock/models.py:2199 +#: stock/models.py:2206 msgid "Test output value" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2213 msgid "Test result attachment" msgstr "" -#: stock/models.py:2212 +#: stock/models.py:2219 msgid "Test notes" msgstr "" @@ -8094,12 +8094,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "" @@ -8128,11 +8128,11 @@ msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "" @@ -8140,21 +8140,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "" @@ -8166,7 +8166,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8174,11 +8174,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "" @@ -8759,209 +8759,209 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "" diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po index a6ff9869e7..24f0c16659 100644 --- a/InvenTree/locale/hu/LC_MESSAGES/django.po +++ b/InvenTree/locale/hu/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-10 04:16+0000\n" -"PO-Revision-Date: 2022-05-11 00:29\n" +"POT-Creation-Date: 2022-05-15 23:30+0000\n" +"PO-Revision-Date: 2022-05-16 01:10\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -17,18 +17,10 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:53 msgid "API endpoint not found" msgstr "API funkciót nem találom" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "Nincs megadva művelet" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "Nincs egyező művelet" - #: InvenTree/fields.py:100 msgid "Enter date" msgstr "Dátum megadása" @@ -128,7 +120,7 @@ msgstr "Hiányzó fájl" msgid "Missing external link" msgstr "Hiányzó külső link" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2212 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "Melléklet" @@ -146,7 +138,7 @@ msgid "Link" msgstr "Link" #: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: stock/models.py:677 msgid "Link to external URL" msgstr "Link külső URL-re" @@ -158,10 +150,10 @@ msgstr "Megjegyzés" msgid "File comment" msgstr "Leírás, bővebb infó" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 +#: common/models.py:1547 common/models.py:1778 common/models.py:1779 +#: common/models.py:2006 common/models.py:2007 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -200,9 +192,9 @@ msgstr "Hiba a fájl átnevezésekor" msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 #: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: part/models.py:2555 plugin/models.py:43 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -230,8 +222,8 @@ msgstr "Név" #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -440,7 +432,7 @@ msgid "Returned" msgstr "Visszaküldve" #: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "Kiszállítva" @@ -616,46 +608,6 @@ msgstr "A jelszavaknak egyeznie kell" msgid "System Information" msgstr "Rendszerinformáció" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "Meg kell adni a barcode_data paramétert" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "Nincs egyező vonalkód" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "Egyezés vonalkódra" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "Meg kell adni a stockitem paramétert" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "Nincs egyező készlet" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "Vonalkód már egyezik a készlet tétellel" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "Vonalkód már egyezik a készlet hellyel" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "Vonalkód már egyezik az alkatrésszel" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "Vonalkód hash már egyezik a készlet tétellel" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "Készlet tételhez tartozó vonalkód" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "Hibás választás a szülő gyártásra" @@ -687,8 +639,8 @@ msgstr "Gyártási utasítás azonosító" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 +#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 msgid "Reference" msgstr "Azonosító" @@ -727,8 +679,8 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -750,7 +702,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Vevői rendelés amihez ez a gyártás hozzá van rendelve" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "Forrás hely" @@ -791,7 +743,7 @@ msgid "Build status code" msgstr "Gyártás státusz kód" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: stock/models.py:681 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "Batch kód" @@ -800,7 +752,7 @@ msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" #: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "Létrehozás dátuma" @@ -834,7 +786,7 @@ msgstr "Felhasználó aki ezt a gyártási utasítást kiállította" #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "Felelős" @@ -845,7 +797,7 @@ msgstr "Felhasználó aki felelős ezért a gyártási utasításért" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 +#: part/templates/part/part_base.html:346 stock/models.py:675 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "Külső link" @@ -858,14 +810,14 @@ msgstr "Külső link" #: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 +#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "Megjegyzések" @@ -928,9 +880,9 @@ msgstr "Gyártás amihez készletet foglaljunk" #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" @@ -942,7 +894,7 @@ msgstr "Forrás készlet tétel" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 +#: build/templates/build/detail.html:34 common/models.py:1589 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 @@ -964,10 +916,10 @@ msgstr "Forrás készlet tétel" #: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -1015,7 +967,7 @@ msgstr "Add meg a mennyiséget a gyártás kimenetéhez" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" @@ -1060,8 +1012,8 @@ msgstr "A gyártási kimenetek listáját meg kell adni" #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 @@ -1076,8 +1028,8 @@ msgstr "A kész gyártási kimenetek helye" #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "Állapot" @@ -1279,9 +1231,9 @@ msgstr "A készlet nem lett teljesen lefoglalva ehhez a gyártási utasításhoz #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "Cél dátum" @@ -1315,7 +1267,7 @@ msgstr "Kész" #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "Vevői rendelés" @@ -1351,7 +1303,7 @@ msgid "Stock can be taken from any available location." msgstr "Készlet bármely rendelkezésre álló helyről felhasználható." #: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "Cél" @@ -1593,856 +1545,856 @@ msgstr "{name.title()} Fájl" msgid "Select {name} file to upload" msgstr "{name} fájl kiválasztása feltöltéshez" -#: common/models.py:387 +#: common/models.py:401 msgid "Settings key (must be unique - case insensitive)" msgstr "Beállítások kulcs (egyedinek kell lennie, nem kis- nagybetű érzékeny)" -#: common/models.py:389 +#: common/models.py:403 msgid "Settings value" msgstr "Beállítás értéke" -#: common/models.py:430 +#: common/models.py:444 msgid "Chosen value is not a valid option" msgstr "A kiválasztott érték nem egy érvényes lehetőség" -#: common/models.py:450 +#: common/models.py:464 msgid "Value must be a boolean value" msgstr "Az érték bináris kell legyen" -#: common/models.py:461 +#: common/models.py:475 msgid "Value must be an integer value" msgstr "Az érték egész szám kell legyen" -#: common/models.py:510 +#: common/models.py:524 msgid "Key string must be unique" msgstr "Kulcs string egyedi kell legyen" -#: common/models.py:742 +#: common/models.py:746 msgid "No group" msgstr "Nincs csoport" -#: common/models.py:784 +#: common/models.py:788 msgid "Restart required" msgstr "Újraindítás szükséges" -#: common/models.py:785 +#: common/models.py:789 msgid "A setting has been changed which requires a server restart" msgstr "Egy olyan beállítás megváltozott ami a kiszolgáló újraindítását igényli" -#: common/models.py:792 +#: common/models.py:796 msgid "Server Instance Name" msgstr "Kiszolgáló példány neve" -#: common/models.py:794 +#: common/models.py:798 msgid "String descriptor for the server instance" msgstr "String leíró a kiszolgáló példányhoz" -#: common/models.py:798 +#: common/models.py:802 msgid "Use instance name" msgstr "Példány név használata" -#: common/models.py:799 +#: common/models.py:803 msgid "Use the instance name in the title-bar" msgstr "Példány név használata a címsorban" -#: common/models.py:805 +#: common/models.py:809 msgid "Restrict showing `about`" msgstr "Verzió infók megjelenítésének tiltása" -#: common/models.py:806 +#: common/models.py:810 msgid "Show the `about` modal only to superusers" msgstr "Verzió infók megjelenítése csak admin felhasználóknak" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:816 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "Cég neve" -#: common/models.py:813 +#: common/models.py:817 msgid "Internal company name" msgstr "Belső cégnév" -#: common/models.py:818 +#: common/models.py:822 msgid "Base URL" msgstr "Kiindulási URL" -#: common/models.py:819 +#: common/models.py:823 msgid "Base URL for server instance" msgstr "Kiindulási URL a kiszolgáló példányhoz" -#: common/models.py:825 +#: common/models.py:829 msgid "Default Currency" msgstr "Alapértelmezett pénznem" -#: common/models.py:826 +#: common/models.py:830 msgid "Default currency" msgstr "Alapértelmezett pénznem" -#: common/models.py:832 +#: common/models.py:836 msgid "Download from URL" msgstr "Letöltés URL-ről" -#: common/models.py:833 +#: common/models.py:837 msgid "Allow download of remote images and files from external URL" msgstr "Képek és fájlok letöltésének engedélyezése külső URL-ről" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Vonalkód támogatás" -#: common/models.py:840 +#: common/models.py:844 msgid "Enable barcode scanner support" msgstr "Vonalkód olvasó engedélyezése" -#: common/models.py:846 +#: common/models.py:850 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:851 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:857 msgid "IPN Regex" msgstr "IPN reguláris kifejezés" -#: common/models.py:854 +#: common/models.py:858 msgid "Regular expression pattern for matching Part IPN" msgstr "Reguláris kifejezés ami illeszkedik az alkatrész IPN-re" -#: common/models.py:858 +#: common/models.py:862 msgid "Allow Duplicate IPN" msgstr "Többször is előforduló IPN engedélyezése" -#: common/models.py:859 +#: common/models.py:863 msgid "Allow multiple parts to share the same IPN" msgstr "Azonos IPN használható legyen több alkatrész esetén is" -#: common/models.py:865 +#: common/models.py:869 msgid "Allow Editing IPN" msgstr "IPN szerkesztésének engedélyezése" -#: common/models.py:866 +#: common/models.py:870 msgid "Allow changing the IPN value while editing a part" msgstr "IPN megváltoztatásánsak engedélyezése az alkatrész szerkesztése közben" -#: common/models.py:872 +#: common/models.py:876 msgid "Copy Part BOM Data" msgstr "Alkatrészjegyzék adatok másolása" -#: common/models.py:873 +#: common/models.py:877 msgid "Copy BOM data by default when duplicating a part" msgstr "Alkatrész másoláskor az alkatrészjegyzék adatokat is másoljuk alapból" -#: common/models.py:879 +#: common/models.py:883 msgid "Copy Part Parameter Data" msgstr "Alkatrész paraméterek másolása" -#: common/models.py:880 +#: common/models.py:884 msgid "Copy parameter data by default when duplicating a part" msgstr "Alkatrész másoláskor a paramétereket is másoljuk alapból" -#: common/models.py:886 +#: common/models.py:890 msgid "Copy Part Test Data" msgstr "Alkatrész teszt adatok másolása" -#: common/models.py:887 +#: common/models.py:891 msgid "Copy test data by default when duplicating a part" msgstr "Alkatrész másoláskor a tesztek adatait is másoljuk alapból" -#: common/models.py:893 +#: common/models.py:897 msgid "Copy Category Parameter Templates" msgstr "Kategória paraméter sablonok másolása" -#: common/models.py:894 +#: common/models.py:898 msgid "Copy category parameter templates when creating a part" msgstr "Kategória paraméter sablonok másolása alkatrész létrehozásakor" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:904 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Sablon" -#: common/models.py:901 +#: common/models.py:905 msgid "Parts are templates by default" msgstr "Alkatrészek alapból sablon alkatrészek legyenek" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Gyártmány" -#: common/models.py:908 +#: common/models.py:912 msgid "Parts can be assembled from other components by default" msgstr "Alkatrészeket alapból lehessen gyártani másik alkatrészekből" -#: common/models.py:914 part/models.py:967 +#: common/models.py:918 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Összetevő" -#: common/models.py:915 +#: common/models.py:919 msgid "Parts can be used as sub-components by default" msgstr "Alkatrészek alapból használhatók összetevőként más alkatrészekhez" -#: common/models.py:921 part/models.py:978 +#: common/models.py:925 part/models.py:978 msgid "Purchaseable" msgstr "Beszerezhető" -#: common/models.py:922 +#: common/models.py:926 msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/models.py:928 part/models.py:983 +#: common/models.py:932 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Értékesíthető" -#: common/models.py:929 +#: common/models.py:933 msgid "Parts are salable by default" msgstr "Alkatrészek alapból eladhatók legyenek" -#: common/models.py:935 part/models.py:973 +#: common/models.py:939 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Követésre kötelezett" -#: common/models.py:936 +#: common/models.py:940 msgid "Parts are trackable by default" msgstr "Alkatrészek alapból követésre kötelezettek legyenek" -#: common/models.py:942 part/models.py:993 +#: common/models.py:946 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuális" -#: common/models.py:943 +#: common/models.py:947 msgid "Parts are virtual by default" msgstr "Alkatrészek alapból virtuálisak legyenek" -#: common/models.py:949 +#: common/models.py:953 msgid "Show Import in Views" msgstr "Importálás megjelenítése a nézetekben" -#: common/models.py:950 +#: common/models.py:954 msgid "Display the import wizard in some part views" msgstr "Import segéd megjelenítése néhány alkatrész nézetben" -#: common/models.py:956 +#: common/models.py:960 msgid "Show Price in Forms" msgstr "Ár megjelenítése a formokon" -#: common/models.py:957 +#: common/models.py:961 msgid "Display part price in some forms" msgstr "Alkatrész árak megjelenítése néhány formon" -#: common/models.py:968 +#: common/models.py:972 msgid "Show Price in BOM" msgstr "Ár megjelenítése az alkatrészjegyzékben" -#: common/models.py:969 +#: common/models.py:973 msgid "Include pricing information in BOM tables" msgstr "Árinformációk megjelenítése az alkatrészjegyzék táblákban" -#: common/models.py:980 +#: common/models.py:984 msgid "Show Price History" msgstr "Ártörténet megjelenítése" -#: common/models.py:981 +#: common/models.py:985 msgid "Display historical pricing for Part" msgstr "Alkatrész ártörténet megjelenítése" -#: common/models.py:987 +#: common/models.py:991 msgid "Show related parts" msgstr "Kapcsolódó alkatrészek megjelenítése" -#: common/models.py:988 +#: common/models.py:992 msgid "Display related parts for a part" msgstr "Alkatrész kapcsolódó alkatrészeinek megjelenítése" -#: common/models.py:994 +#: common/models.py:998 msgid "Create initial stock" msgstr "Kezdeti készlet létrehozása" -#: common/models.py:995 +#: common/models.py:999 msgid "Create initial stock on part creation" msgstr "Kezdeti készlet megadása az alkatrész létrehozásakor" -#: common/models.py:1001 +#: common/models.py:1005 msgid "Internal Prices" msgstr "Belső árak" -#: common/models.py:1002 +#: common/models.py:1006 msgid "Enable internal prices for parts" msgstr "Alkatrészekhez belső ár engedélyezése" -#: common/models.py:1008 +#: common/models.py:1012 msgid "Internal Price as BOM-Price" msgstr "Belső ár alkatrészjegyzék árként" -#: common/models.py:1009 +#: common/models.py:1013 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "Belső ár használata (ha van) az alkatrészjegyzék árszámításában" -#: common/models.py:1015 +#: common/models.py:1019 msgid "Part Name Display Format" msgstr "Alkatrész név megjelenítés formátuma" -#: common/models.py:1016 +#: common/models.py:1020 msgid "Format to display the part name" msgstr "Formátum az alkatrész név megjelenítéséhez" -#: common/models.py:1023 +#: common/models.py:1027 msgid "Enable Reports" msgstr "Riportok engedélyezése" -#: common/models.py:1024 +#: common/models.py:1028 msgid "Enable generation of reports" msgstr "Riportok előállításának engedélyezése" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1034 templates/stats.html:25 msgid "Debug Mode" msgstr "Debug mód" -#: common/models.py:1031 +#: common/models.py:1035 msgid "Generate reports in debug mode (HTML output)" msgstr "Riportok előállítása HTML formátumban (hibakereséshez)" -#: common/models.py:1037 +#: common/models.py:1041 msgid "Page Size" msgstr "Lapméret" -#: common/models.py:1038 +#: common/models.py:1042 msgid "Default page size for PDF reports" msgstr "Alapértelmezett lapméret a PDF riportokhoz" -#: common/models.py:1048 +#: common/models.py:1052 msgid "Test Reports" msgstr "Teszt riportok" -#: common/models.py:1049 +#: common/models.py:1053 msgid "Enable generation of test reports" msgstr "Teszt riportok előállításának engedélyezése" -#: common/models.py:1055 +#: common/models.py:1059 msgid "Batch Code Template" msgstr "Batch kód sablon" -#: common/models.py:1056 +#: common/models.py:1060 msgid "Template for generating default batch codes for stock items" msgstr "Sablon a készlet tételekhez alapértelmezett batch kódok előállításához" -#: common/models.py:1061 +#: common/models.py:1065 msgid "Stock Expiry" msgstr "Készlet lejárata" -#: common/models.py:1062 +#: common/models.py:1066 msgid "Enable stock expiry functionality" msgstr "Készlet lejárat kezelésének engedélyezése" -#: common/models.py:1068 +#: common/models.py:1072 msgid "Sell Expired Stock" msgstr "Lejárt készlet értékesítése" -#: common/models.py:1069 +#: common/models.py:1073 msgid "Allow sale of expired stock" msgstr "Lejárt készlet értékesítésének engedélyezése" -#: common/models.py:1075 +#: common/models.py:1079 msgid "Stock Stale Time" msgstr "Álló készlet ideje" -#: common/models.py:1076 +#: common/models.py:1080 msgid "Number of days stock items are considered stale before expiring" msgstr "Napok száma amennyivel a lejárat előtt a készlet tételeket állottnak vesszük" -#: common/models.py:1078 +#: common/models.py:1082 msgid "days" msgstr "nap" -#: common/models.py:1083 +#: common/models.py:1087 msgid "Build Expired Stock" msgstr "Lejárt készlet gyártása" -#: common/models.py:1084 +#: common/models.py:1088 msgid "Allow building with expired stock" msgstr "Gyártás engedélyezése lejárt készletből" -#: common/models.py:1090 +#: common/models.py:1094 msgid "Stock Ownership Control" msgstr "Készlet tulajdonosok kezelése" -#: common/models.py:1091 +#: common/models.py:1095 msgid "Enable ownership control over stock locations and items" msgstr "Tuajdonosok kezelésének engedélyezése a készlet helyekre és tételekre" -#: common/models.py:1097 +#: common/models.py:1101 msgid "Build Order Reference Prefix" msgstr "Gyártási utasítás azonosító előtagja" -#: common/models.py:1098 +#: common/models.py:1102 msgid "Prefix value for build order reference" msgstr "Előtag értéke a gyártási utasítás azonosítóhoz" -#: common/models.py:1103 +#: common/models.py:1107 msgid "Build Order Reference Regex" msgstr "Gyártási utasítás azonosító reguláris kifejezés" -#: common/models.py:1104 +#: common/models.py:1108 msgid "Regular expression pattern for matching build order reference" msgstr "Gyártási utasítás azonosítóra illeszkedő reguláris kifejezés" -#: common/models.py:1108 +#: common/models.py:1112 msgid "Sales Order Reference Prefix" msgstr "Vevői rendelés azonosító előtagja" -#: common/models.py:1109 +#: common/models.py:1113 msgid "Prefix value for sales order reference" msgstr "Előtag értéke a vevői rendelés azonosítóhoz" -#: common/models.py:1114 +#: common/models.py:1118 msgid "Purchase Order Reference Prefix" msgstr "Beszerzési rendelés azonosító előtagja" -#: common/models.py:1115 +#: common/models.py:1119 msgid "Prefix value for purchase order reference" msgstr "Előtag értéke a beszerzési rendelés azonosítóhoz" -#: common/models.py:1121 +#: common/models.py:1125 msgid "Enable password forgot" msgstr "Elfelejtett jelszó engedélyezése" -#: common/models.py:1122 +#: common/models.py:1126 msgid "Enable password forgot function on the login pages" msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon" -#: common/models.py:1128 +#: common/models.py:1132 msgid "Enable registration" msgstr "Regisztráció engedélyezése" -#: common/models.py:1129 +#: common/models.py:1133 msgid "Enable self-registration for users on the login pages" msgstr "Felhaszálók önkéntes regisztrációjának engedélyezése a bejelentkező oldalon" -#: common/models.py:1135 +#: common/models.py:1139 msgid "Enable SSO" msgstr "SSO engedélyezése" -#: common/models.py:1136 +#: common/models.py:1140 msgid "Enable SSO on the login pages" msgstr "SSO engedélyezése a bejelentkező oldalon" -#: common/models.py:1142 +#: common/models.py:1146 msgid "Email required" msgstr "Email szükséges" -#: common/models.py:1143 +#: common/models.py:1147 msgid "Require user to supply mail on signup" msgstr "Kötelező email megadás regisztrációkor" -#: common/models.py:1149 +#: common/models.py:1153 msgid "Auto-fill SSO users" msgstr "SSO felhasználók automatikus kitöltése" -#: common/models.py:1150 +#: common/models.py:1154 msgid "Automatically fill out user-details from SSO account-data" msgstr "Felhasználó adatainak automatikus kitöltése az SSO fiókadatokból" -#: common/models.py:1156 +#: common/models.py:1160 msgid "Mail twice" msgstr "Email kétszer" -#: common/models.py:1157 +#: common/models.py:1161 msgid "On signup ask users twice for their mail" msgstr "Regisztráláskor kétszer kérdezze a felhasználó email címét" -#: common/models.py:1163 +#: common/models.py:1167 msgid "Password twice" msgstr "Jelszó kétszer" -#: common/models.py:1164 +#: common/models.py:1168 msgid "On signup ask users twice for their password" msgstr "Regisztráláskor kétszer kérdezze a felhasználó jelszavát" -#: common/models.py:1170 +#: common/models.py:1174 msgid "Group on signup" msgstr "Csoport regisztráláskor" -#: common/models.py:1171 +#: common/models.py:1175 msgid "Group to which new users are assigned on registration" msgstr "Csoport amihez a frissen regisztrált felhasználók hozzá lesznek rendelve" -#: common/models.py:1177 +#: common/models.py:1181 msgid "Enforce MFA" msgstr "Többfaktoros hitelesítés kényszerítése" -#: common/models.py:1178 +#: common/models.py:1182 msgid "Users must use multifactor security." msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk." -#: common/models.py:1184 +#: common/models.py:1188 msgid "Check plugins on startup" msgstr "Pluginok ellenőrzése indításkor" -#: common/models.py:1185 +#: common/models.py:1189 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "Ellenőrizze induláskor hogy minden plugin telepítve van - engedélyezd konténer környezetben (docker)" -#: common/models.py:1193 +#: common/models.py:1197 msgid "Enable URL integration" msgstr "URL integráció engedélyezése" -#: common/models.py:1194 +#: common/models.py:1198 msgid "Enable plugins to add URL routes" msgstr "URL útvonalalak hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:1201 +#: common/models.py:1205 msgid "Enable navigation integration" msgstr "Navigációs integráció engedélyezése" -#: common/models.py:1202 +#: common/models.py:1206 msgid "Enable plugins to integrate into navigation" msgstr "Navigációs integráció engedélyezése a pluginok számára" -#: common/models.py:1209 +#: common/models.py:1213 msgid "Enable app integration" msgstr "App integráció engedélyezése" -#: common/models.py:1210 +#: common/models.py:1214 msgid "Enable plugins to add apps" msgstr "App hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:1217 +#: common/models.py:1221 msgid "Enable schedule integration" msgstr "Ütemezés integráció engedélyezése" -#: common/models.py:1218 +#: common/models.py:1222 msgid "Enable plugins to run scheduled tasks" msgstr "Háttérben futó feladatok hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:1225 +#: common/models.py:1229 msgid "Enable event integration" msgstr "Esemény integráció engedélyezése" -#: common/models.py:1226 +#: common/models.py:1230 msgid "Enable plugins to respond to internal events" msgstr "Belső eseményekre reagálás engedélyezése a pluginok számára" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1245 common/models.py:1539 msgid "Settings key (must be unique - case insensitive" msgstr "Beállítások kulcs (egyedinek kell lennie, nem kis- nagybetű érzékeny" -#: common/models.py:1272 +#: common/models.py:1276 msgid "Show subscribed parts" msgstr "Értesítésre beállított alkatrészek megjelenítése" -#: common/models.py:1273 +#: common/models.py:1277 msgid "Show subscribed parts on the homepage" msgstr "Alkatrész értesítések megjelenítése a főoldalon" -#: common/models.py:1279 +#: common/models.py:1283 msgid "Show subscribed categories" msgstr "Értesítésre beállított kategóriák megjelenítése" -#: common/models.py:1280 +#: common/models.py:1284 msgid "Show subscribed part categories on the homepage" msgstr "Alkatrész kategória értesítések megjelenítése a főoldalon" -#: common/models.py:1286 +#: common/models.py:1290 msgid "Show latest parts" msgstr "Legújabb alkatrészek megjelenítése" -#: common/models.py:1287 +#: common/models.py:1291 msgid "Show latest parts on the homepage" msgstr "Legújabb alkatrészek megjelenítése a főoldalon" -#: common/models.py:1293 +#: common/models.py:1297 msgid "Recent Part Count" msgstr "Legfrissebb alkatrész szám" -#: common/models.py:1294 +#: common/models.py:1298 msgid "Number of recent parts to display on index page" msgstr "Főoldalon megjelenítendő legújabb alkatrészek" -#: common/models.py:1300 +#: common/models.py:1304 msgid "Show unvalidated BOMs" msgstr "Jóváhagyás nélküli alkatrészjegyzékek megjelenítése" -#: common/models.py:1301 +#: common/models.py:1305 msgid "Show BOMs that await validation on the homepage" msgstr "Jóváhagyásra váró alkatrészjegyzékek megjelenítése a főoldalon" -#: common/models.py:1307 +#: common/models.py:1311 msgid "Show recent stock changes" msgstr "Legfrissebb készlet változások megjelenítése" -#: common/models.py:1308 +#: common/models.py:1312 msgid "Show recently changed stock items on the homepage" msgstr "Legutóbb megváltozott alkatrészek megjelenítése a főoldalon" -#: common/models.py:1314 +#: common/models.py:1318 msgid "Recent Stock Count" msgstr "Legfrissebb készlet mennyiség" -#: common/models.py:1315 +#: common/models.py:1319 msgid "Number of recent stock items to display on index page" msgstr "Főoldalon megjelenítendő legújabb készlet tételek száma" -#: common/models.py:1321 +#: common/models.py:1325 msgid "Show low stock" msgstr "Alacsony készlet megjelenítése" -#: common/models.py:1322 +#: common/models.py:1326 msgid "Show low stock items on the homepage" msgstr "Alacsony készletek megjelenítése a főoldalon" -#: common/models.py:1328 +#: common/models.py:1332 msgid "Show depleted stock" msgstr "Kimerült készlet megjelenítése" -#: common/models.py:1329 +#: common/models.py:1333 msgid "Show depleted stock items on the homepage" msgstr "Kimerült készletek megjelenítése a főoldalon" -#: common/models.py:1335 +#: common/models.py:1339 msgid "Show needed stock" msgstr "Gyártáshoz szükséges készlet megjelenítése" -#: common/models.py:1336 +#: common/models.py:1340 msgid "Show stock items needed for builds on the homepage" msgstr "Gyártáshoz szükséges készletek megjelenítése a főoldalon" -#: common/models.py:1342 +#: common/models.py:1346 msgid "Show expired stock" msgstr "Lejárt készlet megjelenítése" -#: common/models.py:1343 +#: common/models.py:1347 msgid "Show expired stock items on the homepage" msgstr "Lejárt készletek megjelenítése a főoldalon" -#: common/models.py:1349 +#: common/models.py:1353 msgid "Show stale stock" msgstr "Állott készlet megjelenítése" -#: common/models.py:1350 +#: common/models.py:1354 msgid "Show stale stock items on the homepage" msgstr "Álló készletek megjelenítése a főoldalon" -#: common/models.py:1356 +#: common/models.py:1360 msgid "Show pending builds" msgstr "Függő gyártások megjelenítése" -#: common/models.py:1357 +#: common/models.py:1361 msgid "Show pending builds on the homepage" msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon" -#: common/models.py:1363 +#: common/models.py:1367 msgid "Show overdue builds" msgstr "Késésben lévő gyártások megjelenítése" -#: common/models.py:1364 +#: common/models.py:1368 msgid "Show overdue builds on the homepage" msgstr "Késésben lévő gyártások megjelenítése a főoldalon" -#: common/models.py:1370 +#: common/models.py:1374 msgid "Show outstanding POs" msgstr "Kintlévő beszerzési rendelések" -#: common/models.py:1371 +#: common/models.py:1375 msgid "Show outstanding POs on the homepage" msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon" -#: common/models.py:1377 +#: common/models.py:1381 msgid "Show overdue POs" msgstr "Késésben lévő megrendelések megjelenítése" -#: common/models.py:1378 +#: common/models.py:1382 msgid "Show overdue POs on the homepage" msgstr "Késésben lévő megrendelések megjelenítése a főoldalon" -#: common/models.py:1384 +#: common/models.py:1388 msgid "Show outstanding SOs" msgstr "Függő vevői rendelések megjelenítése" -#: common/models.py:1385 +#: common/models.py:1389 msgid "Show outstanding SOs on the homepage" msgstr "Kintlévő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:1391 +#: common/models.py:1395 msgid "Show overdue SOs" msgstr "Késésben lévő vevői rendelések megjelenítése" -#: common/models.py:1392 +#: common/models.py:1396 msgid "Show overdue SOs on the homepage" msgstr "Késésben lévő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:1397 +#: common/models.py:1401 msgid "Enable label printing" msgstr "Címke nyomtatás engedélyezése" -#: common/models.py:1398 +#: common/models.py:1402 msgid "Enable label printing from the web interface" msgstr "Címke nyomtatás engedélyezése a web felületről" -#: common/models.py:1404 +#: common/models.py:1408 msgid "Inline label display" msgstr "Beágyazott címke megjelenítés" -#: common/models.py:1405 +#: common/models.py:1409 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "PDF címkék megjelenítése a böngészőben letöltés helyett" -#: common/models.py:1411 +#: common/models.py:1415 msgid "Inline report display" msgstr "Beágyazott riport megjelenítés" -#: common/models.py:1412 +#: common/models.py:1416 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "PDF riport megjelenítése a böngészőben letöltés helyett" -#: common/models.py:1418 +#: common/models.py:1422 msgid "Search Parts" msgstr "Alkatrészek keresése" -#: common/models.py:1419 +#: common/models.py:1423 msgid "Display parts in search preview window" msgstr "Alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:1425 +#: common/models.py:1429 msgid "Search Categories" msgstr "Kategóriák keresése" -#: common/models.py:1426 +#: common/models.py:1430 msgid "Display part categories in search preview window" msgstr "Alkatrész kategóriák megjelenítése a keresési előnézetben" -#: common/models.py:1432 +#: common/models.py:1436 msgid "Search Stock" msgstr "Készlet keresése" -#: common/models.py:1433 +#: common/models.py:1437 msgid "Display stock items in search preview window" msgstr "Készlet tételek megjelenítése a keresési előnézetben" -#: common/models.py:1439 +#: common/models.py:1443 msgid "Search Locations" msgstr "Helyek keresése" -#: common/models.py:1440 +#: common/models.py:1444 msgid "Display stock locations in search preview window" msgstr "Készlet helyek megjelenítése a keresési előnézetben" -#: common/models.py:1446 +#: common/models.py:1450 msgid "Search Companies" msgstr "Cégek keresése" -#: common/models.py:1447 +#: common/models.py:1451 msgid "Display companies in search preview window" msgstr "Cégek megjelenítése a keresési előnézetben" -#: common/models.py:1453 +#: common/models.py:1457 msgid "Search Purchase Orders" msgstr "Beszerzési rendelések keresése" -#: common/models.py:1454 +#: common/models.py:1458 msgid "Display purchase orders in search preview window" msgstr "Beszerzési rendelések megjelenítése a keresési előnézetben" -#: common/models.py:1460 +#: common/models.py:1464 msgid "Search Sales Orders" msgstr "Vevői rendelések keresése" -#: common/models.py:1461 +#: common/models.py:1465 msgid "Display sales orders in search preview window" msgstr "Vevői rendelések megjelenítése a keresési előnézetben" -#: common/models.py:1467 +#: common/models.py:1471 msgid "Search Preview Results" msgstr "Keresési előnézet eredményei" -#: common/models.py:1468 +#: common/models.py:1472 msgid "Number of results to show in each section of the search preview window" msgstr "A keresési előnézetben megjelenítendő eredmények száma szekciónként" -#: common/models.py:1474 +#: common/models.py:1478 msgid "Hide Inactive Parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:1475 +#: common/models.py:1479 msgid "Hide inactive parts in search preview window" msgstr "Inaktív alkatrészek elrejtése a kereső előnézeti ablakban" -#: common/models.py:1481 +#: common/models.py:1485 msgid "Show Quantity in Forms" msgstr "Mennyiség megjelenítése a formokon" -#: common/models.py:1482 +#: common/models.py:1486 msgid "Display available part quantity in some forms" msgstr "Rendelkezésre álló alkatrész mennyiség megjelenítése néhány formon" -#: common/models.py:1488 +#: common/models.py:1492 msgid "Escape Key Closes Forms" msgstr "ESC billentyű zárja be a formot" -#: common/models.py:1489 +#: common/models.py:1493 msgid "Use the escape key to close modal forms" msgstr "ESC billentyű használata a modális formok bezárásához" -#: common/models.py:1495 +#: common/models.py:1499 msgid "Fixed Navbar" msgstr "Rögzített menüsor" -#: common/models.py:1496 +#: common/models.py:1500 msgid "The navbar position is fixed to the top of the screen" msgstr "A menü pozíciója mindig rögzítve a lap tetején" -#: common/models.py:1502 +#: common/models.py:1506 msgid "Date Format" msgstr "Dátum formátum" -#: common/models.py:1503 +#: common/models.py:1507 msgid "Preferred format for displaying dates" msgstr "Preferált dátum formátum a dátumok kijelzésekor" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1521 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "Alkatrész ütemezés" -#: common/models.py:1518 +#: common/models.py:1522 msgid "Display part scheduling information" msgstr "Alkatrész ütemezési információk megjelenítése" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1590 company/forms.py:43 msgid "Price break quantity" msgstr "Árlépcső mennyiség" -#: common/models.py:1583 company/serializers.py:264 +#: common/models.py:1597 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "Ár" -#: common/models.py:1584 +#: common/models.py:1598 msgid "Unit price at specified quantity" msgstr "Egységár egy meghatározott mennyiség esetén" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1755 common/models.py:1892 msgid "Endpoint" msgstr "Végpont" -#: common/models.py:1742 +#: common/models.py:1756 msgid "Endpoint at which this webhook is received" msgstr "Végpont ahol ez a webhook érkezik" -#: common/models.py:1751 +#: common/models.py:1765 msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1770 part/models.py:988 plugin/models.py:49 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2450,67 +2402,67 @@ msgstr "Webhook neve" msgid "Active" msgstr "Aktív" -#: common/models.py:1757 +#: common/models.py:1771 msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:1771 +#: common/models.py:1785 msgid "Token" msgstr "Token" -#: common/models.py:1772 +#: common/models.py:1786 msgid "Token for access" msgstr "Token a hozzáféréshez" -#: common/models.py:1779 +#: common/models.py:1793 msgid "Secret" msgstr "Titok" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Shared secret for HMAC" msgstr "Megosztott titok a HMAC-hoz" -#: common/models.py:1847 +#: common/models.py:1859 msgid "Message ID" msgstr "Üzenet azonosító" -#: common/models.py:1848 +#: common/models.py:1860 msgid "Unique identifier for this message" msgstr "Egyedi azonosító ehhez az üzenethez" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Host" msgstr "Kiszolgáló" -#: common/models.py:1857 +#: common/models.py:1869 msgid "Host from which this message was received" msgstr "Kiszolgáló ahonnan ez az üzenet érkezett" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Header" msgstr "Fejléc" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Header of this message" msgstr "Üzenet fejléce" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Body" msgstr "Törzs" -#: common/models.py:1872 +#: common/models.py:1884 msgid "Body of this message" msgstr "Üzenet törzse" -#: common/models.py:1881 +#: common/models.py:1893 msgid "Endpoint on which this message was received" msgstr "Végpont amin ez az üzenet érkezett" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Worked on" msgstr "Dolgozott rajta" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Was the work on this message finished?" msgstr "Befejeződött a munka ezzel az üzenettel?" @@ -2647,7 +2599,7 @@ msgstr "Pénznem" msgid "Default currency used for this company" msgstr "Cég által használt alapértelmezett pénznem" -#: company/models.py:317 company/models.py:532 stock/models.py:612 +#: company/models.py:317 company/models.py:532 stock/models.py:619 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "Kiindulási alkatrész" @@ -2674,7 +2626,7 @@ msgstr "Gyártó kiválasztása" #: company/models.py:339 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "MPN" @@ -2704,7 +2656,7 @@ msgstr "Paraméter neve" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2205 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "Érték" @@ -2733,7 +2685,7 @@ msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészr #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2744,7 +2696,7 @@ msgid "Select supplier" msgstr "Beszállító kiválasztása" #: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "SKU" @@ -2781,7 +2733,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: stock/models.py:643 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "Csomagolás" @@ -2854,10 +2806,10 @@ msgid "Download image from URL" msgstr "Kép letöltése URL-ről" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:662 +#: stock/models.py:663 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -3106,7 +3058,7 @@ msgid "Assigned Stock Items" msgstr "Hozzárendelt készlet tételek" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 +#: company/templates/company/supplier_part.html:24 stock/models.py:627 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3373,7 +3325,7 @@ msgid "Company from which the items are being ordered" msgstr "Cég akitől a tételek beszerzésre kerülnek" #: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "Beszállítói azonosító" @@ -3430,7 +3382,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "Cél dátum a rendelés teljesítéséhez. Ez után számít majd késettnek." #: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "Kiszállítás dátuma" @@ -3492,7 +3444,7 @@ msgstr "" #: order/models.py:949 order/models.py:1031 order/models.py:1053 #: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "Rendelés" @@ -3501,7 +3453,7 @@ msgstr "Rendelés" #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" @@ -3512,7 +3464,7 @@ msgid "Supplier part" msgstr "Beszállítói alkatrész" #: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" @@ -3522,7 +3474,7 @@ msgstr "Beérkezett" msgid "Number of items received" msgstr "Érkezett tételek száma" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3877,7 +3829,7 @@ msgstr "Beszállítói alkatrész kiválasztása" #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3968,7 +3920,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "Ehhez a vevői rendeléshez nincs minden alkatrész lefoglalva" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "Vevői azonosító" @@ -4050,19 +4002,19 @@ msgstr "Teljes alkatrészjegyzék jóváhagyása" msgid "This option must be selected" msgstr "Ennek az opciónak ki kll lennie választva" -#: part/api.py:1045 +#: part/api.py:1037 msgid "Must be greater than zero" msgstr "Nullánál nagyobb kell legyen" -#: part/api.py:1049 +#: part/api.py:1041 msgid "Must be a valid quantity" msgstr "Érvényes mennyiségnek kell lennie" -#: part/api.py:1064 +#: part/api.py:1056 msgid "Specify location for initial part stock" msgstr "Hely megadása a kezdeti alkarész készlethez" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 msgid "This field is required" msgstr "Ez a mező kötelező" @@ -5116,7 +5068,7 @@ msgstr "Alkatrész részletei" msgid "This part is a variant of %(link)s" msgstr "Ez az alkatrész egy változata a %(link)s alkatrésznek" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "Készleten" @@ -5497,6 +5449,58 @@ msgstr "Kategória paraméter sablon törlése" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "A környezeted egy elavult git verziót használ. Ez megakadályozza hogy az InvenTree betöltse a plugin részleteit." +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "Nincs megadva művelet" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "Nincs egyező művelet" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 +msgid "Must provide barcode_data parameter" +msgstr "Meg kell adni a barcode_data paramétert" + +#: plugin/base/barcodes/api.py:129 +msgid "No match found for barcode data" +msgstr "Nincs egyező vonalkód" + +#: plugin/base/barcodes/api.py:131 +msgid "Match found for barcode data" +msgstr "Egyezés vonalkódra" + +#: plugin/base/barcodes/api.py:156 +msgid "Must provide stockitem parameter" +msgstr "Meg kell adni a stockitem paramétert" + +#: plugin/base/barcodes/api.py:163 +msgid "No matching stock item found" +msgstr "Nincs egyező készlet" + +#: plugin/base/barcodes/api.py:193 +msgid "Barcode already matches Stock Item" +msgstr "Vonalkód már egyezik a készlet tétellel" + +#: plugin/base/barcodes/api.py:197 +msgid "Barcode already matches Stock Location" +msgstr "Vonalkód már egyezik a készlet hellyel" + +#: plugin/base/barcodes/api.py:201 +msgid "Barcode already matches Part" +msgstr "Vonalkód már egyezik az alkatrésszel" + +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 +msgid "Barcode hash already matches Stock Item" +msgstr "Vonalkód hash már egyezik a készlet tétellel" + +#: plugin/base/barcodes/api.py:225 +msgid "Barcode associated with Stock Item" +msgstr "Készlet tételhez tartozó vonalkód" + +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "Címkenyomtatás sikertelen" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5515,50 +5519,46 @@ msgstr "Email értesítések engedélyezése" msgid "Allow sending of emails for event notifications" msgstr "Email küldés engedélyezése esemény értesítésekre" -#: plugin/events.py:226 -msgid "Label printing failed" -msgstr "Címkenyomtatás sikertelen" - -#: plugin/integration.py:146 -msgid "No author found" -msgstr "Nincs szerző" - -#: plugin/integration.py:160 -msgid "No date found" -msgstr "Nincs dátum" - -#: plugin/models.py:27 +#: plugin/models.py:29 msgid "Plugin Configuration" msgstr "Plugin beállítás" -#: plugin/models.py:28 +#: plugin/models.py:30 msgid "Plugin Configurations" msgstr "Plugin beállítások" -#: plugin/models.py:33 +#: plugin/models.py:35 msgid "Key" msgstr "Kulcs" -#: plugin/models.py:34 +#: plugin/models.py:36 msgid "Key of plugin" msgstr "Plugin kulcsa" -#: plugin/models.py:42 +#: plugin/models.py:44 msgid "PluginName of the plugin" msgstr "PluginNeve a pluginnak" -#: plugin/models.py:48 +#: plugin/models.py:50 msgid "Is the plugin active" msgstr "Aktív-e a plugin" -#: plugin/models.py:149 +#: plugin/models.py:123 msgid "Plugin" msgstr "Plugin" -#: plugin/models.py:176 +#: plugin/models.py:197 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "Nincs szerző" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "Nincs dátum" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "Beszerzési rendelések engedélyezése" @@ -5725,12 +5725,12 @@ msgid "Stock Item Test Report" msgstr "Készlet tétel teszt riport" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:667 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "Sorozatszám" @@ -5739,19 +5739,19 @@ msgid "Test Results" msgstr "Teszt eredmények" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2193 msgid "Test" msgstr "Teszt" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2199 msgid "Result" msgstr "Eredmény" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "Dátum" @@ -5786,12 +5786,12 @@ msgstr "Egy érvényes alkatrészt meg kell adni" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Sorozatszámot nem lehet megadni nem követésre kötelezett alkatrész esetén" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:94 stock/models.py:762 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "Tulajdonos" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:95 stock/models.py:763 msgid "Select Owner" msgstr "Tulajdonos kiválasztása" @@ -5820,203 +5820,203 @@ msgstr "A tétel nem tartozhat saját magához" msgid "Item must have a build reference if is_building=True" msgstr "A tételnek kell legyen gyártási azonosítója ha az is_bulding igaz" -#: stock/models.py:561 +#: stock/models.py:568 msgid "Build reference does not point to the same part object" msgstr "Gyártási azonosító nem ugyanarra az alkatrész objektumra mutat" -#: stock/models.py:604 +#: stock/models.py:611 msgid "Parent Stock Item" msgstr "Szülő készlet tétel" -#: stock/models.py:613 +#: stock/models.py:620 msgid "Base part" msgstr "Kiindulási alkatrész" -#: stock/models.py:621 +#: stock/models.py:628 msgid "Select a matching supplier part for this stock item" msgstr "Válassz egy egyező beszállítói alkatrészt ehhez a készlet tételhez" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:634 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Készlet hely" -#: stock/models.py:630 +#: stock/models.py:637 msgid "Where is this stock item located?" msgstr "Hol található ez az alkatrész?" -#: stock/models.py:637 +#: stock/models.py:644 msgid "Packaging this stock item is stored in" msgstr "A csomagolása ennek a készlet tételnek itt van tárolva" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:650 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "Beépítve ebbe" -#: stock/models.py:646 +#: stock/models.py:653 msgid "Is this item installed in another item?" msgstr "Ez a tétel be van építve egy másik tételbe?" -#: stock/models.py:662 +#: stock/models.py:669 msgid "Serial number for this item" msgstr "Sorozatszám ehhez a tételhez" -#: stock/models.py:676 +#: stock/models.py:683 msgid "Batch code for this stock item" msgstr "Batch kód ehhez a készlet tételhez" -#: stock/models.py:681 +#: stock/models.py:688 msgid "Stock Quantity" msgstr "Készlet mennyiség" -#: stock/models.py:690 +#: stock/models.py:697 msgid "Source Build" msgstr "Forrás gyártás" -#: stock/models.py:692 +#: stock/models.py:699 msgid "Build for this stock item" msgstr "Gyártás ehhez a készlet tételhez" -#: stock/models.py:703 +#: stock/models.py:710 msgid "Source Purchase Order" msgstr "Forrás beszerzési rendelés" -#: stock/models.py:706 +#: stock/models.py:713 msgid "Purchase order for this stock item" msgstr "Beszerzés ehhez a készlet tételhez" -#: stock/models.py:712 +#: stock/models.py:719 msgid "Destination Sales Order" msgstr "Cél vevői rendelés" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:725 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "Lejárati dátum" -#: stock/models.py:719 +#: stock/models.py:726 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Készlet tétel lejárati dátuma. A készlet lejártnak tekinthető ezután a dátum után" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete on deplete" msgstr "Törlés ha kimerül" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete this Stock Item when stock is depleted" msgstr "Készlet tétel törlése ha kimerül" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:749 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "Készlet tétel megjegyzések" -#: stock/models.py:751 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "Egy egység beszerzési ára a beszerzés időpontjában" -#: stock/models.py:783 +#: stock/models.py:790 msgid "Converted to part" msgstr "Alkatrésszé alakítva" -#: stock/models.py:1303 +#: stock/models.py:1310 msgid "Part is not set as trackable" msgstr "Az alkatrész nem követésre kötelezett" -#: stock/models.py:1309 +#: stock/models.py:1316 msgid "Quantity must be integer" msgstr "Mennyiség egész szám kell legyen" -#: stock/models.py:1315 +#: stock/models.py:1322 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "A mennyiség nem lépheti túl a készletet ({n})" -#: stock/models.py:1318 +#: stock/models.py:1325 msgid "Serial numbers must be a list of integers" msgstr "A sorozatszám egész számok listája kell legyen" -#: stock/models.py:1321 +#: stock/models.py:1328 msgid "Quantity does not match serial numbers" msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával" -#: stock/models.py:1328 +#: stock/models.py:1335 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Ezek a sorozatszámok már léteznek: {exists}" -#: stock/models.py:1399 +#: stock/models.py:1406 msgid "Stock item has been assigned to a sales order" msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez" -#: stock/models.py:1402 +#: stock/models.py:1409 msgid "Stock item is installed in another item" msgstr "Készlet tétel beépül egy másikba" -#: stock/models.py:1405 +#: stock/models.py:1412 msgid "Stock item contains other items" msgstr "A készlet tétel más tételeket tartalmaz" -#: stock/models.py:1408 +#: stock/models.py:1415 msgid "Stock item has been assigned to a customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: stock/models.py:1411 +#: stock/models.py:1418 msgid "Stock item is currently in production" msgstr "Készlet tétel gyártás alatt" -#: stock/models.py:1414 +#: stock/models.py:1421 msgid "Serialized stock cannot be merged" msgstr "Követésre kötelezett készlet nem vonható össze" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1428 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "Duplikált készlet tételek vannak" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock items must refer to the same part" msgstr "A készlet tétel ugyanarra az alkatrészre kell vonatkozzon" -#: stock/models.py:1429 +#: stock/models.py:1436 msgid "Stock items must refer to the same supplier part" msgstr "A készlet tétel ugyanarra a beszállítói alkatrészre kell vonatkozzon" -#: stock/models.py:1433 +#: stock/models.py:1440 msgid "Stock status codes must match" msgstr "Készlet tételek állapotainak egyeznie kell" -#: stock/models.py:1605 +#: stock/models.py:1612 msgid "StockItem cannot be moved as it is not in stock" msgstr "Készlet tétel nem mozgatható mivel nincs készleten" -#: stock/models.py:2106 +#: stock/models.py:2113 msgid "Entry notes" msgstr "Bejegyzés megjegyzései" -#: stock/models.py:2163 +#: stock/models.py:2170 msgid "Value must be provided for this test" msgstr "Ehhez a teszthez meg kell adni értéket" -#: stock/models.py:2169 +#: stock/models.py:2176 msgid "Attachment must be uploaded for this test" msgstr "Ehhez a teszthez fel kell tölteni mellékletet" -#: stock/models.py:2187 +#: stock/models.py:2194 msgid "Test name" msgstr "Teszt neve" -#: stock/models.py:2193 +#: stock/models.py:2200 msgid "Test result" msgstr "Teszt eredménye" -#: stock/models.py:2199 +#: stock/models.py:2206 msgid "Test output value" msgstr "Teszt kimeneti értéke" -#: stock/models.py:2206 +#: stock/models.py:2213 msgid "Test result attachment" msgstr "Teszt eredmény melléklet" -#: stock/models.py:2212 +#: stock/models.py:2219 msgid "Test notes" msgstr "Tesztek megjegyzései" @@ -8095,12 +8095,12 @@ msgid "No required tests for this build" msgstr "Nincsenek szükséges tesztek ehhez a gyártáshoz" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "Készlet foglalások szerkesztése" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "Készlet foglalások törlése" @@ -8129,11 +8129,11 @@ msgid "Sufficient stock available" msgstr "Van elegendő" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "Lefoglalva" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "Gyártási készlet" @@ -8141,21 +8141,21 @@ msgstr "Gyártási készlet" msgid "Order stock" msgstr "Készlet rendelés" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "Lefoglalt készlet" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "Kiválasztott alkatrészek" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "Legalább egy alkatrész választása szükséges a foglaláshoz" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" @@ -8167,7 +8167,7 @@ msgstr "Minden alkatrész lefoglalva" msgid "All selected parts have been fully allocated" msgstr "Minden kiválasztott alkatrész teljesen lefoglalva" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "Válassz forrás helyet (vagy hagyd üresen ha bárhonnan)" @@ -8175,11 +8175,11 @@ msgstr "Válassz forrás helyet (vagy hagyd üresen ha bárhonnan)" msgid "Allocate Stock Items to Build Order" msgstr "Készlet foglalása a gyártási utasításhoz" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "Nincs egyező készlethely" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "Nincs egyező készlet" @@ -8760,209 +8760,209 @@ msgstr "Bevételezés megerősítése" msgid "Receive Purchase Order Items" msgstr "Beszerzési rendelés tételeinek bevételezése" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "Nem található beszerzési rendelés" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "Rendelés késésben" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "Tételek" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "Sortétel másolása" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "Sortétel szerkesztése" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "Sortétel törlése" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "Nem találhatók sortételek" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "Összesen" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "Egységár" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "Teljes ár" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "Ez a sortétel késésben van" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "Sortétel bevételezése" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "Sortétel másolása" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "Sortétel szerkesztése" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "Sortétel törlése" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "Sor másolása" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "Sor szerkesztése" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "Sor törlése" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "Sor másolása" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "Sor szerkesztése" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "Sor törlése" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "Nincs egyező sor" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "Nem található vevői rendelés" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "Érvénytelen vevő" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "Szállítmány szerkesztése" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "Szállítmány kész" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "Szállítmány törlése" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "Szállítmány szerkesztése" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "Szállítmány törlése" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "Nincs egyező szállímány" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "Szállítmány azonosító" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "Nincs szállítva" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "Követés" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "Készlet foglalás megerősítése" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "Készlet foglalása a vevői rendeléshez" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "Nincs vevői rendeléshez történő foglalás" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "Készlet foglalások szerkesztése" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "Törlési művelet megerősítése" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "Készlet foglalások törlése" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "Vevőnek kiszállítva" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "Készlethely nincs megadva" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "Sorozatszámok kiosztása" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "Készletrendelés" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "Árszámítás" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "Nem törölhető mivel a tételek ki lettek szállítva" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "Nem törölhető mivel tételek vannak lefoglalva" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "Sorozatszámok kiosztása" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "Egységár módosítása" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "Nincs egyező sortétel" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "Nincsenek egyező sorok" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index e8fc8c3690..d711ca5e7b 100644 --- a/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/InvenTree/locale/id/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-10 04:16+0000\n" -"PO-Revision-Date: 2022-05-11 00:28\n" +"POT-Creation-Date: 2022-05-15 23:30+0000\n" +"PO-Revision-Date: 2022-05-16 01:10\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -17,18 +17,10 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:53 msgid "API endpoint not found" msgstr "API endpoint tidak ditemukan" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "Tidak ada tindakan yang ditentukan" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "Aksi tidak ditemukan" - #: InvenTree/fields.py:100 msgid "Enter date" msgstr "Masukkan tanggal" @@ -128,7 +120,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2212 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "" @@ -146,7 +138,7 @@ msgid "Link" msgstr "" #: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: stock/models.py:677 msgid "Link to external URL" msgstr "" @@ -158,10 +150,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 +#: common/models.py:1547 common/models.py:1778 common/models.py:1779 +#: common/models.py:2006 common/models.py:2007 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -200,9 +192,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 #: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: part/models.py:2555 plugin/models.py:43 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -230,8 +222,8 @@ msgstr "" #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -440,7 +432,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "" @@ -616,46 +608,6 @@ msgstr "" msgid "System Information" msgstr "" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "" @@ -687,8 +639,8 @@ msgstr "" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 +#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 msgid "Reference" msgstr "" @@ -727,8 +679,8 @@ msgstr "" #: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -750,7 +702,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" @@ -791,7 +743,7 @@ msgid "Build status code" msgstr "" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: stock/models.py:681 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" @@ -800,7 +752,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" @@ -834,7 +786,7 @@ msgstr "" #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" @@ -845,7 +797,7 @@ msgstr "" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 +#: part/templates/part/part_base.html:346 stock/models.py:675 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "" @@ -858,14 +810,14 @@ msgstr "" #: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 +#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "" @@ -928,9 +880,9 @@ msgstr "" #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" @@ -942,7 +894,7 @@ msgstr "" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 +#: build/templates/build/detail.html:34 common/models.py:1589 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 @@ -964,10 +916,10 @@ msgstr "" #: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -1015,7 +967,7 @@ msgstr "" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "" @@ -1060,8 +1012,8 @@ msgstr "" #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 @@ -1076,8 +1028,8 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "" @@ -1278,9 +1230,9 @@ msgstr "" #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "" @@ -1314,7 +1266,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1350,7 +1302,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1592,856 +1544,856 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:387 +#: common/models.py:401 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:389 +#: common/models.py:403 msgid "Settings value" msgstr "" -#: common/models.py:430 +#: common/models.py:444 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:450 +#: common/models.py:464 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:461 +#: common/models.py:475 msgid "Value must be an integer value" msgstr "" -#: common/models.py:510 +#: common/models.py:524 msgid "Key string must be unique" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "No group" msgstr "" -#: common/models.py:784 +#: common/models.py:788 msgid "Restart required" msgstr "" -#: common/models.py:785 +#: common/models.py:789 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:792 +#: common/models.py:796 msgid "Server Instance Name" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:798 +#: common/models.py:802 msgid "Use instance name" msgstr "" -#: common/models.py:799 +#: common/models.py:803 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:805 +#: common/models.py:809 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:816 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Internal company name" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Base URL" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Base URL for server instance" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Default Currency" msgstr "" -#: common/models.py:826 +#: common/models.py:830 msgid "Default currency" msgstr "" -#: common/models.py:832 +#: common/models.py:836 msgid "Download from URL" msgstr "" -#: common/models.py:833 +#: common/models.py:837 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:840 +#: common/models.py:844 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:846 +#: common/models.py:850 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:851 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:857 msgid "IPN Regex" msgstr "" -#: common/models.py:854 +#: common/models.py:858 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:858 +#: common/models.py:862 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:859 +#: common/models.py:863 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:865 +#: common/models.py:869 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:866 +#: common/models.py:870 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:872 +#: common/models.py:876 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:873 +#: common/models.py:877 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:883 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:880 +#: common/models.py:884 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:886 +#: common/models.py:890 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:887 +#: common/models.py:891 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:893 +#: common/models.py:897 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:894 +#: common/models.py:898 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:904 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:901 +#: common/models.py:905 msgid "Parts are templates by default" msgstr "" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:908 +#: common/models.py:912 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:914 part/models.py:967 +#: common/models.py:918 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:915 +#: common/models.py:919 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:921 part/models.py:978 +#: common/models.py:925 part/models.py:978 msgid "Purchaseable" msgstr "" -#: common/models.py:922 +#: common/models.py:926 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:928 part/models.py:983 +#: common/models.py:932 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:929 +#: common/models.py:933 msgid "Parts are salable by default" msgstr "" -#: common/models.py:935 part/models.py:973 +#: common/models.py:939 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:936 +#: common/models.py:940 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:942 part/models.py:993 +#: common/models.py:946 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:943 +#: common/models.py:947 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:949 +#: common/models.py:953 msgid "Show Import in Views" msgstr "" -#: common/models.py:950 +#: common/models.py:954 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:956 +#: common/models.py:960 msgid "Show Price in Forms" msgstr "" -#: common/models.py:957 +#: common/models.py:961 msgid "Display part price in some forms" msgstr "" -#: common/models.py:968 +#: common/models.py:972 msgid "Show Price in BOM" msgstr "" -#: common/models.py:969 +#: common/models.py:973 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:980 +#: common/models.py:984 msgid "Show Price History" msgstr "" -#: common/models.py:981 +#: common/models.py:985 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:987 +#: common/models.py:991 msgid "Show related parts" msgstr "" -#: common/models.py:988 +#: common/models.py:992 msgid "Display related parts for a part" msgstr "" -#: common/models.py:994 +#: common/models.py:998 msgid "Create initial stock" msgstr "" -#: common/models.py:995 +#: common/models.py:999 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1001 +#: common/models.py:1005 msgid "Internal Prices" msgstr "" -#: common/models.py:1002 +#: common/models.py:1006 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1008 +#: common/models.py:1012 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1009 +#: common/models.py:1013 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1015 +#: common/models.py:1019 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1016 +#: common/models.py:1020 msgid "Format to display the part name" msgstr "" -#: common/models.py:1023 +#: common/models.py:1027 msgid "Enable Reports" msgstr "" -#: common/models.py:1024 +#: common/models.py:1028 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1034 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1031 +#: common/models.py:1035 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1037 +#: common/models.py:1041 msgid "Page Size" msgstr "" -#: common/models.py:1038 +#: common/models.py:1042 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1048 +#: common/models.py:1052 msgid "Test Reports" msgstr "" -#: common/models.py:1049 +#: common/models.py:1053 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1055 +#: common/models.py:1059 msgid "Batch Code Template" msgstr "" -#: common/models.py:1056 +#: common/models.py:1060 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1061 +#: common/models.py:1065 msgid "Stock Expiry" msgstr "" -#: common/models.py:1062 +#: common/models.py:1066 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1068 +#: common/models.py:1072 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1069 +#: common/models.py:1073 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1075 +#: common/models.py:1079 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1076 +#: common/models.py:1080 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1078 +#: common/models.py:1082 msgid "days" msgstr "" -#: common/models.py:1083 +#: common/models.py:1087 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1084 +#: common/models.py:1088 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1090 +#: common/models.py:1094 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1091 +#: common/models.py:1095 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1097 +#: common/models.py:1101 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1098 +#: common/models.py:1102 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1103 +#: common/models.py:1107 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1104 +#: common/models.py:1108 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1108 +#: common/models.py:1112 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1109 +#: common/models.py:1113 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1118 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1115 +#: common/models.py:1119 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1121 +#: common/models.py:1125 msgid "Enable password forgot" msgstr "" -#: common/models.py:1122 +#: common/models.py:1126 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1128 +#: common/models.py:1132 msgid "Enable registration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1133 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1135 +#: common/models.py:1139 msgid "Enable SSO" msgstr "" -#: common/models.py:1136 +#: common/models.py:1140 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1142 +#: common/models.py:1146 msgid "Email required" msgstr "" -#: common/models.py:1143 +#: common/models.py:1147 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1149 +#: common/models.py:1153 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1150 +#: common/models.py:1154 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1156 +#: common/models.py:1160 msgid "Mail twice" msgstr "" -#: common/models.py:1157 +#: common/models.py:1161 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1163 +#: common/models.py:1167 msgid "Password twice" msgstr "" -#: common/models.py:1164 +#: common/models.py:1168 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1170 +#: common/models.py:1174 msgid "Group on signup" msgstr "" -#: common/models.py:1171 +#: common/models.py:1175 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1177 +#: common/models.py:1181 msgid "Enforce MFA" msgstr "" -#: common/models.py:1178 +#: common/models.py:1182 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1184 +#: common/models.py:1188 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1185 +#: common/models.py:1189 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1193 +#: common/models.py:1197 msgid "Enable URL integration" msgstr "" -#: common/models.py:1194 +#: common/models.py:1198 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1201 +#: common/models.py:1205 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1202 +#: common/models.py:1206 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1209 +#: common/models.py:1213 msgid "Enable app integration" msgstr "" -#: common/models.py:1210 +#: common/models.py:1214 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1217 +#: common/models.py:1221 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1218 +#: common/models.py:1222 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1225 +#: common/models.py:1229 msgid "Enable event integration" msgstr "" -#: common/models.py:1226 +#: common/models.py:1230 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1245 common/models.py:1539 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1272 +#: common/models.py:1276 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1273 +#: common/models.py:1277 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1279 +#: common/models.py:1283 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1280 +#: common/models.py:1284 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1286 +#: common/models.py:1290 msgid "Show latest parts" msgstr "" -#: common/models.py:1287 +#: common/models.py:1291 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1293 +#: common/models.py:1297 msgid "Recent Part Count" msgstr "" -#: common/models.py:1294 +#: common/models.py:1298 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1300 +#: common/models.py:1304 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1301 +#: common/models.py:1305 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1311 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1308 +#: common/models.py:1312 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1314 +#: common/models.py:1318 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1315 +#: common/models.py:1319 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1321 +#: common/models.py:1325 msgid "Show low stock" msgstr "" -#: common/models.py:1322 +#: common/models.py:1326 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1332 msgid "Show depleted stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1333 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1339 msgid "Show needed stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1340 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1346 msgid "Show expired stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1347 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1353 msgid "Show stale stock" msgstr "" -#: common/models.py:1350 +#: common/models.py:1354 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1360 msgid "Show pending builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1361 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1367 msgid "Show overdue builds" msgstr "" -#: common/models.py:1364 +#: common/models.py:1368 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1374 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1375 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1381 msgid "Show overdue POs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1382 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1388 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1389 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1391 +#: common/models.py:1395 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1392 +#: common/models.py:1396 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1397 +#: common/models.py:1401 msgid "Enable label printing" msgstr "" -#: common/models.py:1398 +#: common/models.py:1402 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1404 +#: common/models.py:1408 msgid "Inline label display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1409 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1415 msgid "Inline report display" msgstr "" -#: common/models.py:1412 +#: common/models.py:1416 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1418 +#: common/models.py:1422 msgid "Search Parts" msgstr "" -#: common/models.py:1419 +#: common/models.py:1423 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1429 msgid "Search Categories" msgstr "" -#: common/models.py:1426 +#: common/models.py:1430 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1436 msgid "Search Stock" msgstr "" -#: common/models.py:1433 +#: common/models.py:1437 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1443 msgid "Search Locations" msgstr "" -#: common/models.py:1440 +#: common/models.py:1444 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1450 msgid "Search Companies" msgstr "" -#: common/models.py:1447 +#: common/models.py:1451 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1457 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1458 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1464 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1461 +#: common/models.py:1465 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1471 msgid "Search Preview Results" msgstr "" -#: common/models.py:1468 +#: common/models.py:1472 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1478 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1475 +#: common/models.py:1479 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1481 +#: common/models.py:1485 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1482 +#: common/models.py:1486 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1492 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1489 +#: common/models.py:1493 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1495 +#: common/models.py:1499 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1496 +#: common/models.py:1500 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1502 +#: common/models.py:1506 msgid "Date Format" msgstr "" -#: common/models.py:1503 +#: common/models.py:1507 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1521 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1518 +#: common/models.py:1522 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1590 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1583 company/serializers.py:264 +#: common/models.py:1597 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1584 +#: common/models.py:1598 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1755 common/models.py:1892 msgid "Endpoint" msgstr "" -#: common/models.py:1742 +#: common/models.py:1756 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1751 +#: common/models.py:1765 msgid "Name for this webhook" msgstr "" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1770 part/models.py:988 plugin/models.py:49 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2449,67 +2401,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1757 +#: common/models.py:1771 msgid "Is this webhook active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1785 msgid "Token" msgstr "" -#: common/models.py:1772 +#: common/models.py:1786 msgid "Token for access" msgstr "" -#: common/models.py:1779 +#: common/models.py:1793 msgid "Secret" msgstr "" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1847 +#: common/models.py:1859 msgid "Message ID" msgstr "" -#: common/models.py:1848 +#: common/models.py:1860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Host" msgstr "" -#: common/models.py:1857 +#: common/models.py:1869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Header" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Header of this message" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Body" msgstr "" -#: common/models.py:1872 +#: common/models.py:1884 msgid "Body of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1893 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Worked on" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Was the work on this message finished?" msgstr "" @@ -2646,7 +2598,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:612 +#: company/models.py:317 company/models.py:532 stock/models.py:619 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "" @@ -2673,7 +2625,7 @@ msgstr "" #: company/models.py:339 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" @@ -2703,7 +2655,7 @@ msgstr "" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2205 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2732,7 +2684,7 @@ msgstr "" #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2743,7 +2695,7 @@ msgid "Select supplier" msgstr "" #: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" @@ -2780,7 +2732,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: stock/models.py:643 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" @@ -2853,10 +2805,10 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:662 +#: stock/models.py:663 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -3105,7 +3057,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 +#: company/templates/company/supplier_part.html:24 stock/models.py:627 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3372,7 +3324,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" @@ -3429,7 +3381,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "" #: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" @@ -3491,7 +3443,7 @@ msgstr "" #: order/models.py:949 order/models.py:1031 order/models.py:1053 #: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "" @@ -3500,7 +3452,7 @@ msgstr "" #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" @@ -3511,7 +3463,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" @@ -3521,7 +3473,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3876,7 +3828,7 @@ msgstr "" #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3967,7 +3919,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "" @@ -4049,19 +4001,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1045 +#: part/api.py:1037 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1049 +#: part/api.py:1041 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1064 +#: part/api.py:1056 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 msgid "This field is required" msgstr "" @@ -5115,7 +5067,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5496,6 +5448,58 @@ msgstr "" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "Tidak ada tindakan yang ditentukan" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "Aksi tidak ditemukan" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 +msgid "Must provide barcode_data parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:129 +msgid "No match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:131 +msgid "Match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:156 +msgid "Must provide stockitem parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:163 +msgid "No matching stock item found" +msgstr "" + +#: plugin/base/barcodes/api.py:193 +msgid "Barcode already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:197 +msgid "Barcode already matches Stock Location" +msgstr "" + +#: plugin/base/barcodes/api.py:201 +msgid "Barcode already matches Part" +msgstr "" + +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 +msgid "Barcode hash already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:225 +msgid "Barcode associated with Stock Item" +msgstr "" + +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5514,50 +5518,46 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:226 -msgid "Label printing failed" -msgstr "" - -#: plugin/integration.py:146 -msgid "No author found" -msgstr "" - -#: plugin/integration.py:160 -msgid "No date found" -msgstr "" - -#: plugin/models.py:27 +#: plugin/models.py:29 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:30 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:35 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:36 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:44 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:50 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:123 msgid "Plugin" msgstr "" -#: plugin/models.py:176 +#: plugin/models.py:197 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "" @@ -5724,12 +5724,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:667 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "" @@ -5738,19 +5738,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2193 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2199 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "" @@ -5785,12 +5785,12 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:94 stock/models.py:762 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:95 stock/models.py:763 msgid "Select Owner" msgstr "" @@ -5819,203 +5819,203 @@ msgstr "" msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:561 +#: stock/models.py:568 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:604 +#: stock/models.py:611 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:613 +#: stock/models.py:620 msgid "Base part" msgstr "" -#: stock/models.py:621 +#: stock/models.py:628 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:634 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:630 +#: stock/models.py:637 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:637 +#: stock/models.py:644 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:650 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "" -#: stock/models.py:646 +#: stock/models.py:653 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:662 +#: stock/models.py:669 msgid "Serial number for this item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:683 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:681 +#: stock/models.py:688 msgid "Stock Quantity" msgstr "" -#: stock/models.py:690 +#: stock/models.py:697 msgid "Source Build" msgstr "" -#: stock/models.py:692 +#: stock/models.py:699 msgid "Build for this stock item" msgstr "" -#: stock/models.py:703 +#: stock/models.py:710 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:706 +#: stock/models.py:713 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:712 +#: stock/models.py:719 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:725 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:719 +#: stock/models.py:726 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete on deplete" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:749 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:751 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:783 +#: stock/models.py:790 msgid "Converted to part" msgstr "" -#: stock/models.py:1303 +#: stock/models.py:1310 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1309 +#: stock/models.py:1316 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1315 +#: stock/models.py:1322 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1318 +#: stock/models.py:1325 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1328 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1335 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1399 +#: stock/models.py:1406 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1402 +#: stock/models.py:1409 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1405 +#: stock/models.py:1412 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1408 +#: stock/models.py:1415 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1411 +#: stock/models.py:1418 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1414 +#: stock/models.py:1421 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1428 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1429 +#: stock/models.py:1436 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1440 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1605 +#: stock/models.py:1612 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2106 +#: stock/models.py:2113 msgid "Entry notes" msgstr "" -#: stock/models.py:2163 +#: stock/models.py:2170 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2169 +#: stock/models.py:2176 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2187 +#: stock/models.py:2194 msgid "Test name" msgstr "" -#: stock/models.py:2193 +#: stock/models.py:2200 msgid "Test result" msgstr "" -#: stock/models.py:2199 +#: stock/models.py:2206 msgid "Test output value" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2213 msgid "Test result attachment" msgstr "" -#: stock/models.py:2212 +#: stock/models.py:2219 msgid "Test notes" msgstr "" @@ -8094,12 +8094,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "" @@ -8128,11 +8128,11 @@ msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "" @@ -8140,21 +8140,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "" @@ -8166,7 +8166,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8174,11 +8174,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "" @@ -8759,209 +8759,209 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index 6a93cd2af4..44c6deb3c9 100644 --- a/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/InvenTree/locale/it/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-10 04:16+0000\n" -"PO-Revision-Date: 2022-05-11 00:29\n" +"POT-Creation-Date: 2022-05-15 23:30+0000\n" +"PO-Revision-Date: 2022-05-16 01:10\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -17,18 +17,10 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:53 msgid "API endpoint not found" msgstr "Endpoint API non trovato" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "Nessuna azione specificata" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "Nessuna azione corrispondente trovata" - #: InvenTree/fields.py:100 msgid "Enter date" msgstr "Inserisci la data" @@ -81,7 +73,7 @@ msgstr "È necessario digitare la stessa e-mail ogni volta." #: InvenTree/helpers.py:449 #, python-brace-format msgid "Duplicate serial: {sn}" -msgstr "" +msgstr "Seriale duplicato: {sn}" #: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 msgid "Invalid quantity provided" @@ -109,7 +101,7 @@ msgstr "" #: InvenTree/helpers.py:530 #, python-brace-format msgid "Invalid/no group {group}" -msgstr "" +msgstr "Gruppo {group} invalido o inesistente" #: InvenTree/helpers.py:536 msgid "No serial numbers found" @@ -118,7 +110,7 @@ msgstr "Nessun numero di serie trovato" #: InvenTree/helpers.py:540 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" -msgstr "" +msgstr "Il numero dei numeri seriali univoci ({s}) deve essere uguale alla quantità ({q})" #: InvenTree/models.py:185 msgid "Missing file" @@ -128,7 +120,7 @@ msgstr "File mancante" msgid "Missing external link" msgstr "Link esterno mancante" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2212 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "Allegato" @@ -143,10 +135,10 @@ msgstr "Seleziona file da allegare" #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" -msgstr "" +msgstr "Collegamento" #: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: stock/models.py:677 msgid "Link to external URL" msgstr "Link a URL esterno" @@ -158,10 +150,10 @@ msgstr "Commento" msgid "File comment" msgstr "Commento del file" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 +#: common/models.py:1547 common/models.py:1778 common/models.py:1779 +#: common/models.py:2006 common/models.py:2007 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -200,9 +192,9 @@ msgstr "Errore nella rinominazione del file" msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 #: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: part/models.py:2555 plugin/models.py:43 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -230,8 +222,8 @@ msgstr "Nome" #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -261,11 +253,11 @@ msgstr "Valore non valido" #: InvenTree/serializers.py:355 msgid "Data File" -msgstr "" +msgstr "File dati" #: InvenTree/serializers.py:356 msgid "Select data file for upload" -msgstr "" +msgstr "Seleziona un file per il caricamento" #: InvenTree/serializers.py:380 msgid "Unsupported file type" @@ -277,7 +269,7 @@ msgstr "File troppo grande" #: InvenTree/serializers.py:407 msgid "No columns found in file" -msgstr "" +msgstr "Nessun colonna trovata nel file" #: InvenTree/serializers.py:410 msgid "No data rows found in file" @@ -294,16 +286,16 @@ msgstr "" #: InvenTree/serializers.py:626 #, python-brace-format msgid "Missing required column: '{name}'" -msgstr "" +msgstr "Colonna richiesta mancante: '{name}'" #: InvenTree/serializers.py:635 #, python-brace-format msgid "Duplicate column: '{col}'" -msgstr "" +msgstr "Colonna duplicata: '{col}'" #: InvenTree/settings.py:672 msgid "Czech" -msgstr "" +msgstr "Ceco" #: InvenTree/settings.py:673 msgid "German" @@ -327,7 +319,7 @@ msgstr "Spagnolo (Messicano)" #: InvenTree/settings.py:678 msgid "Farsi / Persian" -msgstr "" +msgstr "Farsi / Persiano" #: InvenTree/settings.py:679 msgid "French" @@ -367,11 +359,11 @@ msgstr "Polacco" #: InvenTree/settings.py:688 msgid "Portuguese" -msgstr "" +msgstr "Portoghese" #: InvenTree/settings.py:689 msgid "Portuguese (Brazilian)" -msgstr "" +msgstr "Portoghese (Brasile)" #: InvenTree/settings.py:690 msgid "Russian" @@ -440,13 +432,13 @@ msgid "Returned" msgstr "Reso" #: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "Spedito" #: InvenTree/status_codes.py:183 msgid "OK" -msgstr "" +msgstr "OK" #: InvenTree/status_codes.py:184 msgid "Attention needed" @@ -522,11 +514,11 @@ msgstr "Dividi elemento figlio" #: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026 msgid "Merged stock items" -msgstr "" +msgstr "Elemento stock raggruppato" #: InvenTree/status_codes.py:300 msgid "Converted to variant" -msgstr "" +msgstr "Convertito in variante" #: InvenTree/status_codes.py:302 templates/js/translated/table_filters.js:213 msgid "Sent to customer" @@ -616,46 +608,6 @@ msgstr "Le password devono coincidere" msgid "System Information" msgstr "Informazioni sistema" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "È necessario fornire il parametro barcode_data" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "Nessuna corrispondenza trovata per i dati del codice a barre" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "Corrispondenza trovata per i dati del codice a barre" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "È necessario fornire il parametro stockitem" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "Nessun elemento corrispondente trovato" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "" @@ -687,8 +639,8 @@ msgstr "" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 +#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 msgid "Reference" msgstr "Riferimento" @@ -727,8 +679,8 @@ msgstr "" #: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -739,7 +691,7 @@ msgstr "Articolo" #: build/models.py:235 msgid "Select part to build" -msgstr "" +msgstr "Selezionare parte da produrre" #: build/models.py:240 msgid "Sales Order Reference" @@ -750,7 +702,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "Posizione Di Origine" @@ -768,7 +720,7 @@ msgstr "Seleziona il luogo in cui gli articoli completati saranno immagazzinati" #: build/models.py:266 msgid "Build Quantity" -msgstr "" +msgstr "Quantità Produzione" #: build/models.py:269 msgid "Number of stock items to build" @@ -791,16 +743,16 @@ msgid "Build status code" msgstr "" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: stock/models.py:681 templates/js/translated/order.js:1053 msgid "Batch Code" -msgstr "" +msgstr "Codice Lotto" #: build/models.py:291 build/serializers.py:224 msgid "Batch code for this build output" msgstr "" #: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "Data di creazione" @@ -834,7 +786,7 @@ msgstr "" #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "Responsabile" @@ -845,7 +797,7 @@ msgstr "" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 +#: part/templates/part/part_base.html:346 stock/models.py:675 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "Collegamento esterno" @@ -858,14 +810,14 @@ msgstr "Collegamento esterno" #: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 +#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "Note" @@ -893,7 +845,7 @@ msgstr "" #: build/models.py:1223 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "" +msgstr "La quantità assegnata ({q}) non deve essere maggiore della quantità disponibile ({a})" #: build/models.py:1233 msgid "Stock item is over-allocated" @@ -928,9 +880,9 @@ msgstr "" #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" @@ -942,7 +894,7 @@ msgstr "Origine giacenza articolo" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 +#: build/templates/build/detail.html:34 common/models.py:1589 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 @@ -964,10 +916,10 @@ msgstr "Origine giacenza articolo" #: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -1015,7 +967,7 @@ msgstr "Inserisci la quantità per l'output di compilazione" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" @@ -1048,7 +1000,7 @@ msgstr "" #: build/serializers.py:280 stock/api.py:594 msgid "The following serial numbers already exist" -msgstr "" +msgstr "I seguenti numeri di serie sono già esistenti" #: build/serializers.py:333 build/serializers.py:406 msgid "A list of build outputs must be provided" @@ -1060,8 +1012,8 @@ msgstr "" #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 @@ -1076,8 +1028,8 @@ msgstr "Posizione per gli output di build completati" #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "Stato" @@ -1278,9 +1230,9 @@ msgstr "" #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "Data scadenza" @@ -1314,7 +1266,7 @@ msgstr "Completato" #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "Ordini di Vendita" @@ -1350,7 +1302,7 @@ msgid "Stock can be taken from any available location." msgstr "Lo stock può essere prelevato da qualsiasi posizione disponibile." #: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "Destinazione" @@ -1592,856 +1544,856 @@ msgstr "" msgid "Select {name} file to upload" msgstr "Seleziona il file {name} da caricare" -#: common/models.py:387 +#: common/models.py:401 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:389 +#: common/models.py:403 msgid "Settings value" msgstr "Valore impostazioni" -#: common/models.py:430 +#: common/models.py:444 msgid "Chosen value is not a valid option" msgstr "Il valore specificato non è un opzione valida" -#: common/models.py:450 +#: common/models.py:464 msgid "Value must be a boolean value" msgstr "Il valore deve essere un valore booleano" -#: common/models.py:461 +#: common/models.py:475 msgid "Value must be an integer value" msgstr "Il valore deve essere un intero" -#: common/models.py:510 +#: common/models.py:524 msgid "Key string must be unique" msgstr "La stringa chiave deve essere univoca" -#: common/models.py:742 +#: common/models.py:746 msgid "No group" msgstr "Nessun gruppo" -#: common/models.py:784 +#: common/models.py:788 msgid "Restart required" msgstr "Riavvio richiesto" -#: common/models.py:785 +#: common/models.py:789 msgid "A setting has been changed which requires a server restart" msgstr "È stata modificata un'impostazione che richiede un riavvio del server" -#: common/models.py:792 +#: common/models.py:796 msgid "Server Instance Name" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "String descriptor for the server instance" msgstr "Descrittore stringa per l'istanza del server" -#: common/models.py:798 +#: common/models.py:802 msgid "Use instance name" msgstr "Utilizza nome istanza" -#: common/models.py:799 +#: common/models.py:803 msgid "Use the instance name in the title-bar" msgstr "Usa il nome dell'istanza nella barra del titolo" -#: common/models.py:805 +#: common/models.py:809 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:816 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "Nome azienda" -#: common/models.py:813 +#: common/models.py:817 msgid "Internal company name" msgstr "Nome interno dell'azienda" -#: common/models.py:818 +#: common/models.py:822 msgid "Base URL" msgstr "URL Base" -#: common/models.py:819 +#: common/models.py:823 msgid "Base URL for server instance" msgstr "URL di base per l'istanza del server" -#: common/models.py:825 +#: common/models.py:829 msgid "Default Currency" msgstr "Valuta predefinita" -#: common/models.py:826 +#: common/models.py:830 msgid "Default currency" msgstr "Valuta predefinita" -#: common/models.py:832 +#: common/models.py:836 msgid "Download from URL" msgstr "Scarica dall'URL" -#: common/models.py:833 +#: common/models.py:837 msgid "Allow download of remote images and files from external URL" msgstr "Consenti il download di immagini e file remoti da URL esterno" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Supporto Codice A Barre" -#: common/models.py:840 +#: common/models.py:844 msgid "Enable barcode scanner support" msgstr "Abilita supporto scanner codici a barre" -#: common/models.py:846 +#: common/models.py:850 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:851 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:857 msgid "IPN Regex" msgstr "" -#: common/models.py:854 +#: common/models.py:858 msgid "Regular expression pattern for matching Part IPN" msgstr "Schema di espressione regolare per l'articolo corrispondente IPN" -#: common/models.py:858 +#: common/models.py:862 msgid "Allow Duplicate IPN" msgstr "Consenti duplicati IPN" -#: common/models.py:859 +#: common/models.py:863 msgid "Allow multiple parts to share the same IPN" msgstr "Permetti a più articoli di condividere lo stesso IPN" -#: common/models.py:865 +#: common/models.py:869 msgid "Allow Editing IPN" msgstr "Permetti modifiche al part number interno (IPN)" -#: common/models.py:866 +#: common/models.py:870 msgid "Allow changing the IPN value while editing a part" msgstr "Consenti di modificare il valore del part number durante la modifica di un articolo" -#: common/models.py:872 +#: common/models.py:876 msgid "Copy Part BOM Data" msgstr "Copia I Dati Della distinta base dell'articolo" -#: common/models.py:873 +#: common/models.py:877 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:883 msgid "Copy Part Parameter Data" msgstr "Copia I Dati Parametro dell'articolo" -#: common/models.py:880 +#: common/models.py:884 msgid "Copy parameter data by default when duplicating a part" msgstr "Copia i dati dei parametri di default quando si duplica un articolo" -#: common/models.py:886 +#: common/models.py:890 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:887 +#: common/models.py:891 msgid "Copy test data by default when duplicating a part" msgstr "Copia i dati di prova di default quando si duplica un articolo" -#: common/models.py:893 +#: common/models.py:897 msgid "Copy Category Parameter Templates" msgstr "Copia Template Parametri Categoria" -#: common/models.py:894 +#: common/models.py:898 msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:904 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:901 +#: common/models.py:905 msgid "Parts are templates by default" msgstr "Gli articoli sono modelli per impostazione predefinita" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Assemblaggio" -#: common/models.py:908 +#: common/models.py:912 msgid "Parts can be assembled from other components by default" msgstr "Gli articoli possono essere assemblate da altri componenti per impostazione predefinita" -#: common/models.py:914 part/models.py:967 +#: common/models.py:918 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Componente" -#: common/models.py:915 +#: common/models.py:919 msgid "Parts can be used as sub-components by default" msgstr "Gli articoli possono essere assemblati da altri componenti per impostazione predefinita" -#: common/models.py:921 part/models.py:978 +#: common/models.py:925 part/models.py:978 msgid "Purchaseable" msgstr "Acquistabile" -#: common/models.py:922 +#: common/models.py:926 msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:928 part/models.py:983 +#: common/models.py:932 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Vendibile" -#: common/models.py:929 +#: common/models.py:933 msgid "Parts are salable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:935 part/models.py:973 +#: common/models.py:939 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Tracciabile" -#: common/models.py:936 +#: common/models.py:940 msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" -#: common/models.py:942 part/models.py:993 +#: common/models.py:946 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuale" -#: common/models.py:943 +#: common/models.py:947 msgid "Parts are virtual by default" msgstr "Gli articoli sono virtuali per impostazione predefinita" -#: common/models.py:949 +#: common/models.py:953 msgid "Show Import in Views" msgstr "Mostra l'importazione nelle viste" -#: common/models.py:950 +#: common/models.py:954 msgid "Display the import wizard in some part views" msgstr "Mostra la procedura guidata di importazione in alcune viste articoli" -#: common/models.py:956 +#: common/models.py:960 msgid "Show Price in Forms" msgstr "Mostra il prezzo nei moduli" -#: common/models.py:957 +#: common/models.py:961 msgid "Display part price in some forms" msgstr "Mostra il prezzo dell'articolo in alcuni moduli" -#: common/models.py:968 +#: common/models.py:972 msgid "Show Price in BOM" msgstr "Mostra il prezzo nella BOM" -#: common/models.py:969 +#: common/models.py:973 msgid "Include pricing information in BOM tables" msgstr "Includi le informazioni sui prezzi nelle tabelle BOM" -#: common/models.py:980 +#: common/models.py:984 msgid "Show Price History" msgstr "" -#: common/models.py:981 +#: common/models.py:985 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:987 +#: common/models.py:991 msgid "Show related parts" msgstr "Mostra articoli correlati" -#: common/models.py:988 +#: common/models.py:992 msgid "Display related parts for a part" msgstr "Visualizza parti correlate per ogni articolo" -#: common/models.py:994 +#: common/models.py:998 msgid "Create initial stock" msgstr "Crea giacenza iniziale" -#: common/models.py:995 +#: common/models.py:999 msgid "Create initial stock on part creation" msgstr "Crea giacenza iniziale sulla creazione articolo" -#: common/models.py:1001 +#: common/models.py:1005 msgid "Internal Prices" msgstr "Prezzi interni" -#: common/models.py:1002 +#: common/models.py:1006 msgid "Enable internal prices for parts" msgstr "Abilita prezzi interni per gli articoli" -#: common/models.py:1008 +#: common/models.py:1012 msgid "Internal Price as BOM-Price" msgstr "Prezzo interno come BOM-Price" -#: common/models.py:1009 +#: common/models.py:1013 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "Utilizzare il prezzo interno (se impostato) nel calcolo del prezzo BOM" -#: common/models.py:1015 +#: common/models.py:1019 msgid "Part Name Display Format" msgstr "Formato di visualizzazione del nome articolo" -#: common/models.py:1016 +#: common/models.py:1020 msgid "Format to display the part name" msgstr "Formato per visualizzare il nome dell'articolo" -#: common/models.py:1023 +#: common/models.py:1027 msgid "Enable Reports" msgstr "Abilita Report di Stampa" -#: common/models.py:1024 +#: common/models.py:1028 msgid "Enable generation of reports" msgstr "Abilita generazione di report di stampa" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1034 templates/stats.html:25 msgid "Debug Mode" msgstr "Modalità Debug" -#: common/models.py:1031 +#: common/models.py:1035 msgid "Generate reports in debug mode (HTML output)" msgstr "Genera report in modalità debug (output HTML)" -#: common/models.py:1037 +#: common/models.py:1041 msgid "Page Size" msgstr "Dimensioni pagina" -#: common/models.py:1038 +#: common/models.py:1042 msgid "Default page size for PDF reports" msgstr "Dimensione predefinita della pagina per i report PDF" -#: common/models.py:1048 +#: common/models.py:1052 msgid "Test Reports" msgstr "Stampa di prova" -#: common/models.py:1049 +#: common/models.py:1053 msgid "Enable generation of test reports" msgstr "Abilita generazione di stampe di prova" -#: common/models.py:1055 +#: common/models.py:1059 msgid "Batch Code Template" msgstr "" -#: common/models.py:1056 +#: common/models.py:1060 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1061 +#: common/models.py:1065 msgid "Stock Expiry" msgstr "Scadenza giacenza" -#: common/models.py:1062 +#: common/models.py:1066 msgid "Enable stock expiry functionality" msgstr "Abilita funzionalità di scadenza della giacenza" -#: common/models.py:1068 +#: common/models.py:1072 msgid "Sell Expired Stock" msgstr "Vendi giacenza scaduta" -#: common/models.py:1069 +#: common/models.py:1073 msgid "Allow sale of expired stock" msgstr "Consenti la vendita di stock scaduti" -#: common/models.py:1075 +#: common/models.py:1079 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1076 +#: common/models.py:1080 msgid "Number of days stock items are considered stale before expiring" msgstr "Numero di giorni in cui gli articoli in magazzino sono considerati obsoleti prima della scadenza" -#: common/models.py:1078 +#: common/models.py:1082 msgid "days" msgstr "giorni" -#: common/models.py:1083 +#: common/models.py:1087 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1084 +#: common/models.py:1088 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1090 +#: common/models.py:1094 msgid "Stock Ownership Control" msgstr "Controllo della proprietà della giacenza" -#: common/models.py:1091 +#: common/models.py:1095 msgid "Enable ownership control over stock locations and items" msgstr "Abilita il controllo della proprietà sulle posizioni e gli oggetti in giacenza" -#: common/models.py:1097 +#: common/models.py:1101 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1098 +#: common/models.py:1102 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1103 +#: common/models.py:1107 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1104 +#: common/models.py:1108 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1108 +#: common/models.py:1112 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1109 +#: common/models.py:1113 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1118 msgid "Purchase Order Reference Prefix" msgstr "Referenza ordine d'acquisto" -#: common/models.py:1115 +#: common/models.py:1119 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1121 +#: common/models.py:1125 msgid "Enable password forgot" msgstr "Abilita password dimenticata" -#: common/models.py:1122 +#: common/models.py:1126 msgid "Enable password forgot function on the login pages" msgstr "Abilita la funzione password dimenticata nelle pagine di accesso" -#: common/models.py:1128 +#: common/models.py:1132 msgid "Enable registration" msgstr "Abilita registrazione" -#: common/models.py:1129 +#: common/models.py:1133 msgid "Enable self-registration for users on the login pages" msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso" -#: common/models.py:1135 +#: common/models.py:1139 msgid "Enable SSO" msgstr "SSO abilitato" -#: common/models.py:1136 +#: common/models.py:1140 msgid "Enable SSO on the login pages" msgstr "Abilita SSO nelle pagine di accesso" -#: common/models.py:1142 +#: common/models.py:1146 msgid "Email required" msgstr "Email richiesta" -#: common/models.py:1143 +#: common/models.py:1147 msgid "Require user to supply mail on signup" msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione" -#: common/models.py:1149 +#: common/models.py:1153 msgid "Auto-fill SSO users" msgstr "Riempimento automatico degli utenti SSO" -#: common/models.py:1150 +#: common/models.py:1154 msgid "Automatically fill out user-details from SSO account-data" msgstr "Compila automaticamente i dettagli dell'utente dai dati dell'account SSO" -#: common/models.py:1156 +#: common/models.py:1160 msgid "Mail twice" msgstr "" -#: common/models.py:1157 +#: common/models.py:1161 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1163 +#: common/models.py:1167 msgid "Password twice" msgstr "" -#: common/models.py:1164 +#: common/models.py:1168 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1170 +#: common/models.py:1174 msgid "Group on signup" msgstr "" -#: common/models.py:1171 +#: common/models.py:1175 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1177 +#: common/models.py:1181 msgid "Enforce MFA" msgstr "" -#: common/models.py:1178 +#: common/models.py:1182 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1184 +#: common/models.py:1188 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1185 +#: common/models.py:1189 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1193 +#: common/models.py:1197 msgid "Enable URL integration" msgstr "" -#: common/models.py:1194 +#: common/models.py:1198 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1201 +#: common/models.py:1205 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1202 +#: common/models.py:1206 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1209 +#: common/models.py:1213 msgid "Enable app integration" msgstr "" -#: common/models.py:1210 +#: common/models.py:1214 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1217 +#: common/models.py:1221 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1218 +#: common/models.py:1222 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1225 +#: common/models.py:1229 msgid "Enable event integration" msgstr "" -#: common/models.py:1226 +#: common/models.py:1230 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1245 common/models.py:1539 msgid "Settings key (must be unique - case insensitive" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole" -#: common/models.py:1272 +#: common/models.py:1276 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1273 +#: common/models.py:1277 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1279 +#: common/models.py:1283 msgid "Show subscribed categories" msgstr "Mostra le categorie sottoscritte" -#: common/models.py:1280 +#: common/models.py:1284 msgid "Show subscribed part categories on the homepage" msgstr "Mostra le categorie dei componenti sottoscritti nella homepage" -#: common/models.py:1286 +#: common/models.py:1290 msgid "Show latest parts" msgstr "Mostra ultimi articoli" -#: common/models.py:1287 +#: common/models.py:1291 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1293 +#: common/models.py:1297 msgid "Recent Part Count" msgstr "" -#: common/models.py:1294 +#: common/models.py:1298 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1300 +#: common/models.py:1304 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1301 +#: common/models.py:1305 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1311 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1308 +#: common/models.py:1312 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1314 +#: common/models.py:1318 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1315 +#: common/models.py:1319 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1321 +#: common/models.py:1325 msgid "Show low stock" msgstr "" -#: common/models.py:1322 +#: common/models.py:1326 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1332 msgid "Show depleted stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1333 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1339 msgid "Show needed stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1340 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1346 msgid "Show expired stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1347 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1353 msgid "Show stale stock" msgstr "" -#: common/models.py:1350 +#: common/models.py:1354 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1360 msgid "Show pending builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1361 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1367 msgid "Show overdue builds" msgstr "" -#: common/models.py:1364 +#: common/models.py:1368 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1374 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1375 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1381 msgid "Show overdue POs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1382 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1388 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1389 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1391 +#: common/models.py:1395 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1392 +#: common/models.py:1396 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1397 +#: common/models.py:1401 msgid "Enable label printing" msgstr "" -#: common/models.py:1398 +#: common/models.py:1402 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1404 +#: common/models.py:1408 msgid "Inline label display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1405 +#: common/models.py:1409 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Visualizza le etichette PDF nel browser, invece di scaricare come file" -#: common/models.py:1411 +#: common/models.py:1415 msgid "Inline report display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1412 +#: common/models.py:1416 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Visualizza le etichette PDF nel browser, invece di scaricare come file" -#: common/models.py:1418 +#: common/models.py:1422 msgid "Search Parts" msgstr "" -#: common/models.py:1419 +#: common/models.py:1423 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1429 msgid "Search Categories" msgstr "" -#: common/models.py:1426 +#: common/models.py:1430 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1436 msgid "Search Stock" msgstr "" -#: common/models.py:1433 +#: common/models.py:1437 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1443 msgid "Search Locations" msgstr "" -#: common/models.py:1440 +#: common/models.py:1444 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1450 msgid "Search Companies" msgstr "" -#: common/models.py:1447 +#: common/models.py:1451 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1457 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1458 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1464 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1461 +#: common/models.py:1465 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1471 msgid "Search Preview Results" msgstr "Risultati Dell'Anteprima Di Ricerca" -#: common/models.py:1468 +#: common/models.py:1472 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1478 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1475 +#: common/models.py:1479 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1481 +#: common/models.py:1485 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1482 +#: common/models.py:1486 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1492 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1489 +#: common/models.py:1493 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1495 +#: common/models.py:1499 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1496 +#: common/models.py:1500 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1502 +#: common/models.py:1506 msgid "Date Format" msgstr "" -#: common/models.py:1503 +#: common/models.py:1507 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1521 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1518 +#: common/models.py:1522 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1590 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1583 company/serializers.py:264 +#: common/models.py:1597 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "Prezzo" -#: common/models.py:1584 +#: common/models.py:1598 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1755 common/models.py:1892 msgid "Endpoint" msgstr "" -#: common/models.py:1742 +#: common/models.py:1756 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1751 +#: common/models.py:1765 msgid "Name for this webhook" msgstr "" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1770 part/models.py:988 plugin/models.py:49 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2449,67 +2401,67 @@ msgstr "" msgid "Active" msgstr "Attivo" -#: common/models.py:1757 +#: common/models.py:1771 msgid "Is this webhook active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1785 msgid "Token" msgstr "" -#: common/models.py:1772 +#: common/models.py:1786 msgid "Token for access" msgstr "" -#: common/models.py:1779 +#: common/models.py:1793 msgid "Secret" msgstr "" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1847 +#: common/models.py:1859 msgid "Message ID" msgstr "" -#: common/models.py:1848 +#: common/models.py:1860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Host" msgstr "" -#: common/models.py:1857 +#: common/models.py:1869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Header" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Header of this message" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Body" msgstr "" -#: common/models.py:1872 +#: common/models.py:1884 msgid "Body of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1893 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Worked on" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Was the work on this message finished?" msgstr "" @@ -2646,7 +2598,7 @@ msgstr "Valuta" msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:612 +#: company/models.py:317 company/models.py:532 stock/models.py:619 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "Articolo di base" @@ -2673,7 +2625,7 @@ msgstr "Seleziona Produttore" #: company/models.py:339 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "Codice articolo produttore (MPN)" @@ -2703,7 +2655,7 @@ msgstr "Nome parametro" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2205 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "Valore" @@ -2732,7 +2684,7 @@ msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2743,7 +2695,7 @@ msgid "Select supplier" msgstr "Seleziona fornitore" #: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" @@ -2780,7 +2732,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: stock/models.py:643 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "Confezionamento" @@ -2853,10 +2805,10 @@ msgid "Download image from URL" msgstr "Scarica immagine dall'URL" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:662 +#: stock/models.py:663 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -3105,7 +3057,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 +#: company/templates/company/supplier_part.html:24 stock/models.py:627 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3372,7 +3324,7 @@ msgid "Company from which the items are being ordered" msgstr "Azienda da cui sono stati ordinati gli articoli" #: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "Riferimento fornitore" @@ -3429,7 +3381,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "" #: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" @@ -3491,7 +3443,7 @@ msgstr "" #: order/models.py:949 order/models.py:1031 order/models.py:1053 #: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "" @@ -3500,7 +3452,7 @@ msgstr "" #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" @@ -3511,7 +3463,7 @@ msgid "Supplier part" msgstr "Articolo Fornitore" #: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" @@ -3521,7 +3473,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3876,7 +3828,7 @@ msgstr "Seleziona l'articolo del fornitore" #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3967,7 +3919,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "" @@ -4049,19 +4001,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1045 +#: part/api.py:1037 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1049 +#: part/api.py:1041 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1064 +#: part/api.py:1056 msgid "Specify location for initial part stock" msgstr "Specifica la posizione per lo stock iniziale" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 msgid "This field is required" msgstr "" @@ -5115,7 +5067,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "In magazzino" @@ -5496,6 +5448,58 @@ msgstr "Elimina Modello Parametro Categoria" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "Nessuna azione specificata" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "Nessuna azione corrispondente trovata" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 +msgid "Must provide barcode_data parameter" +msgstr "È necessario fornire il parametro barcode_data" + +#: plugin/base/barcodes/api.py:129 +msgid "No match found for barcode data" +msgstr "Nessuna corrispondenza trovata per i dati del codice a barre" + +#: plugin/base/barcodes/api.py:131 +msgid "Match found for barcode data" +msgstr "Corrispondenza trovata per i dati del codice a barre" + +#: plugin/base/barcodes/api.py:156 +msgid "Must provide stockitem parameter" +msgstr "È necessario fornire il parametro stockitem" + +#: plugin/base/barcodes/api.py:163 +msgid "No matching stock item found" +msgstr "Nessun elemento corrispondente trovato" + +#: plugin/base/barcodes/api.py:193 +msgid "Barcode already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:197 +msgid "Barcode already matches Stock Location" +msgstr "" + +#: plugin/base/barcodes/api.py:201 +msgid "Barcode already matches Part" +msgstr "" + +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 +msgid "Barcode hash already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:225 +msgid "Barcode associated with Stock Item" +msgstr "" + +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5514,50 +5518,46 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:226 -msgid "Label printing failed" -msgstr "" - -#: plugin/integration.py:146 -msgid "No author found" -msgstr "" - -#: plugin/integration.py:160 -msgid "No date found" -msgstr "" - -#: plugin/models.py:27 +#: plugin/models.py:29 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:30 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:35 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:36 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:44 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:50 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:123 msgid "Plugin" msgstr "" -#: plugin/models.py:176 +#: plugin/models.py:197 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "" @@ -5724,12 +5724,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:667 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "" @@ -5738,19 +5738,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2193 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2199 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "Data" @@ -5785,12 +5785,12 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:94 stock/models.py:762 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:95 stock/models.py:763 msgid "Select Owner" msgstr "Seleziona Owner" @@ -5819,203 +5819,203 @@ msgstr "" msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:561 +#: stock/models.py:568 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:604 +#: stock/models.py:611 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:613 +#: stock/models.py:620 msgid "Base part" msgstr "Articolo base" -#: stock/models.py:621 +#: stock/models.py:628 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:634 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Ubicazione magazzino" -#: stock/models.py:630 +#: stock/models.py:637 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:637 +#: stock/models.py:644 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:650 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "Installato In" -#: stock/models.py:646 +#: stock/models.py:653 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:662 +#: stock/models.py:669 msgid "Serial number for this item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:683 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:681 +#: stock/models.py:688 msgid "Stock Quantity" msgstr "Quantità disponibile" -#: stock/models.py:690 +#: stock/models.py:697 msgid "Source Build" msgstr "" -#: stock/models.py:692 +#: stock/models.py:699 msgid "Build for this stock item" msgstr "" -#: stock/models.py:703 +#: stock/models.py:710 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:706 +#: stock/models.py:713 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:712 +#: stock/models.py:719 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:725 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "Data di Scadenza" -#: stock/models.py:719 +#: stock/models.py:726 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete on deplete" msgstr "Elimina al esaurimento" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:749 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:751 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:783 +#: stock/models.py:790 msgid "Converted to part" msgstr "" -#: stock/models.py:1303 +#: stock/models.py:1310 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1309 +#: stock/models.py:1316 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1315 +#: stock/models.py:1322 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1318 +#: stock/models.py:1325 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1328 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1335 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1399 +#: stock/models.py:1406 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1402 +#: stock/models.py:1409 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1405 +#: stock/models.py:1412 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1408 +#: stock/models.py:1415 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1411 +#: stock/models.py:1418 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1414 +#: stock/models.py:1421 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1428 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1429 +#: stock/models.py:1436 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1440 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1605 +#: stock/models.py:1612 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2106 +#: stock/models.py:2113 msgid "Entry notes" msgstr "" -#: stock/models.py:2163 +#: stock/models.py:2170 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2169 +#: stock/models.py:2176 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2187 +#: stock/models.py:2194 msgid "Test name" msgstr "" -#: stock/models.py:2193 +#: stock/models.py:2200 msgid "Test result" msgstr "" -#: stock/models.py:2199 +#: stock/models.py:2206 msgid "Test output value" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2213 msgid "Test result attachment" msgstr "" -#: stock/models.py:2212 +#: stock/models.py:2219 msgid "Test notes" msgstr "" @@ -8094,12 +8094,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "Modifica allocazione magazzino" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "Elimina posizione giacenza" @@ -8128,11 +8128,11 @@ msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "" @@ -8140,21 +8140,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "Seleziona Articoli" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "Specificare il quantitativo assegnato allo stock" @@ -8166,7 +8166,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "Seleziona la posizione di origine (lascia vuoto per prendere da tutte le posizioni)" @@ -8174,11 +8174,11 @@ msgstr "Seleziona la posizione di origine (lascia vuoto per prendere da tutte le msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "Nessuna posizione di magazzino corrispondente" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "" @@ -8759,209 +8759,209 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "Totale" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "Prezzo Unitario" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "Prezzo Totale" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "Cliente non valido" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "Conferma l'assegnazione della giacenza" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "Nessun ordine di vendita trovato" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "Modifica posizione giacenza" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "Conferma Operazione Eliminazione" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "Elimina posizione giacenza" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "Spedito al cliente" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "Nessun posizione specificata" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "Prezzo d'acquisto" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "Calcola il prezzo" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index cf48802c09..e87b5a9d07 100644 --- a/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/InvenTree/locale/ja/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-10 04:16+0000\n" -"PO-Revision-Date: 2022-05-11 00:29\n" +"POT-Creation-Date: 2022-05-15 23:30+0000\n" +"PO-Revision-Date: 2022-05-16 01:10\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -17,18 +17,10 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:53 msgid "API endpoint not found" msgstr "APIエンドポイントが見つかりません" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "アクションが指定されていません" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "一致するアクションが見つかりませんでした" - #: InvenTree/fields.py:100 msgid "Enter date" msgstr "日付を入力する" @@ -128,7 +120,7 @@ msgstr "ファイルがありません" msgid "Missing external link" msgstr "外部リンクが見つかりません。" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2212 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "添付ファイル" @@ -146,7 +138,7 @@ msgid "Link" msgstr "リンク" #: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: stock/models.py:677 msgid "Link to external URL" msgstr "外部 サイト へのリンク" @@ -158,10 +150,10 @@ msgstr "コメント:" msgid "File comment" msgstr "ファイルコメント" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 +#: common/models.py:1547 common/models.py:1778 common/models.py:1779 +#: common/models.py:2006 common/models.py:2007 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -200,9 +192,9 @@ msgstr "ファイル名の変更に失敗しました" msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 #: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: part/models.py:2555 plugin/models.py:43 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -230,8 +222,8 @@ msgstr "お名前" #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -440,7 +432,7 @@ msgid "Returned" msgstr "返品済" #: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "発送済み" @@ -616,46 +608,6 @@ msgstr "" msgid "System Information" msgstr "システム情報" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "" @@ -687,8 +639,8 @@ msgstr "" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 +#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 msgid "Reference" msgstr "" @@ -727,8 +679,8 @@ msgstr "" #: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -750,7 +702,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" @@ -791,7 +743,7 @@ msgid "Build status code" msgstr "" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: stock/models.py:681 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" @@ -800,7 +752,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "作成日時" @@ -834,7 +786,7 @@ msgstr "" #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" @@ -845,7 +797,7 @@ msgstr "" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 +#: part/templates/part/part_base.html:346 stock/models.py:675 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "" @@ -858,14 +810,14 @@ msgstr "" #: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 +#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "メモ" @@ -928,9 +880,9 @@ msgstr "パーツを割り当てるためにビルドする" #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" @@ -942,7 +894,7 @@ msgstr "" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 +#: build/templates/build/detail.html:34 common/models.py:1589 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 @@ -964,10 +916,10 @@ msgstr "" #: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -1015,7 +967,7 @@ msgstr "" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "" @@ -1060,8 +1012,8 @@ msgstr "" #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 @@ -1076,8 +1028,8 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "ステータス" @@ -1278,9 +1230,9 @@ msgstr "" #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "" @@ -1314,7 +1266,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1350,7 +1302,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1592,856 +1544,856 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:387 +#: common/models.py:401 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:389 +#: common/models.py:403 msgid "Settings value" msgstr "" -#: common/models.py:430 +#: common/models.py:444 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:450 +#: common/models.py:464 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:461 +#: common/models.py:475 msgid "Value must be an integer value" msgstr "" -#: common/models.py:510 +#: common/models.py:524 msgid "Key string must be unique" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "No group" msgstr "" -#: common/models.py:784 +#: common/models.py:788 msgid "Restart required" msgstr "" -#: common/models.py:785 +#: common/models.py:789 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:792 +#: common/models.py:796 msgid "Server Instance Name" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:798 +#: common/models.py:802 msgid "Use instance name" msgstr "" -#: common/models.py:799 +#: common/models.py:803 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:805 +#: common/models.py:809 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:816 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Internal company name" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Base URL" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Base URL for server instance" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Default Currency" msgstr "" -#: common/models.py:826 +#: common/models.py:830 msgid "Default currency" msgstr "" -#: common/models.py:832 +#: common/models.py:836 msgid "Download from URL" msgstr "" -#: common/models.py:833 +#: common/models.py:837 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:840 +#: common/models.py:844 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:846 +#: common/models.py:850 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:851 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:857 msgid "IPN Regex" msgstr "" -#: common/models.py:854 +#: common/models.py:858 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:858 +#: common/models.py:862 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:859 +#: common/models.py:863 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:865 +#: common/models.py:869 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:866 +#: common/models.py:870 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:872 +#: common/models.py:876 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:873 +#: common/models.py:877 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:883 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:880 +#: common/models.py:884 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:886 +#: common/models.py:890 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:887 +#: common/models.py:891 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:893 +#: common/models.py:897 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:894 +#: common/models.py:898 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:904 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "テンプレート" -#: common/models.py:901 +#: common/models.py:905 msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "アセンブリ" -#: common/models.py:908 +#: common/models.py:912 msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/models.py:914 part/models.py:967 +#: common/models.py:918 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "コンポーネント" -#: common/models.py:915 +#: common/models.py:919 msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/models.py:921 part/models.py:978 +#: common/models.py:925 part/models.py:978 msgid "Purchaseable" msgstr "購入可能" -#: common/models.py:922 +#: common/models.py:926 msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/models.py:928 part/models.py:983 +#: common/models.py:932 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:929 +#: common/models.py:933 msgid "Parts are salable by default" msgstr "パーツはデフォルトで販売可能です" -#: common/models.py:935 part/models.py:973 +#: common/models.py:939 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "追跡可能" -#: common/models.py:936 +#: common/models.py:940 msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/models.py:942 part/models.py:993 +#: common/models.py:946 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:943 +#: common/models.py:947 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:949 +#: common/models.py:953 msgid "Show Import in Views" msgstr "" -#: common/models.py:950 +#: common/models.py:954 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:956 +#: common/models.py:960 msgid "Show Price in Forms" msgstr "" -#: common/models.py:957 +#: common/models.py:961 msgid "Display part price in some forms" msgstr "" -#: common/models.py:968 +#: common/models.py:972 msgid "Show Price in BOM" msgstr "" -#: common/models.py:969 +#: common/models.py:973 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:980 +#: common/models.py:984 msgid "Show Price History" msgstr "" -#: common/models.py:981 +#: common/models.py:985 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:987 +#: common/models.py:991 msgid "Show related parts" msgstr "" -#: common/models.py:988 +#: common/models.py:992 msgid "Display related parts for a part" msgstr "" -#: common/models.py:994 +#: common/models.py:998 msgid "Create initial stock" msgstr "" -#: common/models.py:995 +#: common/models.py:999 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1001 +#: common/models.py:1005 msgid "Internal Prices" msgstr "" -#: common/models.py:1002 +#: common/models.py:1006 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1008 +#: common/models.py:1012 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1009 +#: common/models.py:1013 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1015 +#: common/models.py:1019 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1016 +#: common/models.py:1020 msgid "Format to display the part name" msgstr "" -#: common/models.py:1023 +#: common/models.py:1027 msgid "Enable Reports" msgstr "" -#: common/models.py:1024 +#: common/models.py:1028 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1034 templates/stats.html:25 msgid "Debug Mode" msgstr "デバッグモード" -#: common/models.py:1031 +#: common/models.py:1035 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1037 +#: common/models.py:1041 msgid "Page Size" msgstr "" -#: common/models.py:1038 +#: common/models.py:1042 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1048 +#: common/models.py:1052 msgid "Test Reports" msgstr "" -#: common/models.py:1049 +#: common/models.py:1053 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1055 +#: common/models.py:1059 msgid "Batch Code Template" msgstr "" -#: common/models.py:1056 +#: common/models.py:1060 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1061 +#: common/models.py:1065 msgid "Stock Expiry" msgstr "" -#: common/models.py:1062 +#: common/models.py:1066 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1068 +#: common/models.py:1072 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1069 +#: common/models.py:1073 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1075 +#: common/models.py:1079 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1076 +#: common/models.py:1080 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1078 +#: common/models.py:1082 msgid "days" msgstr "" -#: common/models.py:1083 +#: common/models.py:1087 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1084 +#: common/models.py:1088 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1090 +#: common/models.py:1094 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1091 +#: common/models.py:1095 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1097 +#: common/models.py:1101 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1098 +#: common/models.py:1102 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1103 +#: common/models.py:1107 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1104 +#: common/models.py:1108 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1108 +#: common/models.py:1112 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1109 +#: common/models.py:1113 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1118 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1115 +#: common/models.py:1119 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1121 +#: common/models.py:1125 msgid "Enable password forgot" msgstr "" -#: common/models.py:1122 +#: common/models.py:1126 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1128 +#: common/models.py:1132 msgid "Enable registration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1133 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1135 +#: common/models.py:1139 msgid "Enable SSO" msgstr "" -#: common/models.py:1136 +#: common/models.py:1140 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1142 +#: common/models.py:1146 msgid "Email required" msgstr "" -#: common/models.py:1143 +#: common/models.py:1147 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1149 +#: common/models.py:1153 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1150 +#: common/models.py:1154 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1156 +#: common/models.py:1160 msgid "Mail twice" msgstr "" -#: common/models.py:1157 +#: common/models.py:1161 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1163 +#: common/models.py:1167 msgid "Password twice" msgstr "" -#: common/models.py:1164 +#: common/models.py:1168 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1170 +#: common/models.py:1174 msgid "Group on signup" msgstr "" -#: common/models.py:1171 +#: common/models.py:1175 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1177 +#: common/models.py:1181 msgid "Enforce MFA" msgstr "" -#: common/models.py:1178 +#: common/models.py:1182 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1184 +#: common/models.py:1188 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1185 +#: common/models.py:1189 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1193 +#: common/models.py:1197 msgid "Enable URL integration" msgstr "" -#: common/models.py:1194 +#: common/models.py:1198 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1201 +#: common/models.py:1205 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1202 +#: common/models.py:1206 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1209 +#: common/models.py:1213 msgid "Enable app integration" msgstr "" -#: common/models.py:1210 +#: common/models.py:1214 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1217 +#: common/models.py:1221 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1218 +#: common/models.py:1222 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1225 +#: common/models.py:1229 msgid "Enable event integration" msgstr "" -#: common/models.py:1226 +#: common/models.py:1230 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1245 common/models.py:1539 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1272 +#: common/models.py:1276 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1273 +#: common/models.py:1277 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1279 +#: common/models.py:1283 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1280 +#: common/models.py:1284 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1286 +#: common/models.py:1290 msgid "Show latest parts" msgstr "" -#: common/models.py:1287 +#: common/models.py:1291 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1293 +#: common/models.py:1297 msgid "Recent Part Count" msgstr "" -#: common/models.py:1294 +#: common/models.py:1298 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1300 +#: common/models.py:1304 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1301 +#: common/models.py:1305 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1311 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1308 +#: common/models.py:1312 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1314 +#: common/models.py:1318 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1315 +#: common/models.py:1319 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1321 +#: common/models.py:1325 msgid "Show low stock" msgstr "" -#: common/models.py:1322 +#: common/models.py:1326 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1332 msgid "Show depleted stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1333 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1339 msgid "Show needed stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1340 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1346 msgid "Show expired stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1347 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1353 msgid "Show stale stock" msgstr "" -#: common/models.py:1350 +#: common/models.py:1354 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1360 msgid "Show pending builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1361 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1367 msgid "Show overdue builds" msgstr "" -#: common/models.py:1364 +#: common/models.py:1368 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1374 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1375 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1381 msgid "Show overdue POs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1382 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1388 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1389 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1391 +#: common/models.py:1395 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1392 +#: common/models.py:1396 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1397 +#: common/models.py:1401 msgid "Enable label printing" msgstr "" -#: common/models.py:1398 +#: common/models.py:1402 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1404 +#: common/models.py:1408 msgid "Inline label display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1409 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1415 msgid "Inline report display" msgstr "" -#: common/models.py:1412 +#: common/models.py:1416 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1418 +#: common/models.py:1422 msgid "Search Parts" msgstr "" -#: common/models.py:1419 +#: common/models.py:1423 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1429 msgid "Search Categories" msgstr "" -#: common/models.py:1426 +#: common/models.py:1430 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1436 msgid "Search Stock" msgstr "" -#: common/models.py:1433 +#: common/models.py:1437 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1443 msgid "Search Locations" msgstr "" -#: common/models.py:1440 +#: common/models.py:1444 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1450 msgid "Search Companies" msgstr "" -#: common/models.py:1447 +#: common/models.py:1451 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1457 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1458 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1464 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1461 +#: common/models.py:1465 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1471 msgid "Search Preview Results" msgstr "" -#: common/models.py:1468 +#: common/models.py:1472 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1478 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1475 +#: common/models.py:1479 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1481 +#: common/models.py:1485 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1482 +#: common/models.py:1486 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1492 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1489 +#: common/models.py:1493 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1495 +#: common/models.py:1499 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1496 +#: common/models.py:1500 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1502 +#: common/models.py:1506 msgid "Date Format" msgstr "" -#: common/models.py:1503 +#: common/models.py:1507 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1521 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1518 +#: common/models.py:1522 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1590 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1583 company/serializers.py:264 +#: common/models.py:1597 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1584 +#: common/models.py:1598 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1755 common/models.py:1892 msgid "Endpoint" msgstr "" -#: common/models.py:1742 +#: common/models.py:1756 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1751 +#: common/models.py:1765 msgid "Name for this webhook" msgstr "" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1770 part/models.py:988 plugin/models.py:49 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2449,67 +2401,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1757 +#: common/models.py:1771 msgid "Is this webhook active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1785 msgid "Token" msgstr "" -#: common/models.py:1772 +#: common/models.py:1786 msgid "Token for access" msgstr "" -#: common/models.py:1779 +#: common/models.py:1793 msgid "Secret" msgstr "" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1847 +#: common/models.py:1859 msgid "Message ID" msgstr "メッセージ ID:" -#: common/models.py:1848 +#: common/models.py:1860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Host" msgstr "" -#: common/models.py:1857 +#: common/models.py:1869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Header" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Header of this message" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Body" msgstr "" -#: common/models.py:1872 +#: common/models.py:1884 msgid "Body of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1893 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Worked on" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Was the work on this message finished?" msgstr "" @@ -2646,7 +2598,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:612 +#: company/models.py:317 company/models.py:532 stock/models.py:619 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "" @@ -2673,7 +2625,7 @@ msgstr "" #: company/models.py:339 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" @@ -2703,7 +2655,7 @@ msgstr "" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2205 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2732,7 +2684,7 @@ msgstr "" #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2743,7 +2695,7 @@ msgid "Select supplier" msgstr "" #: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" @@ -2780,7 +2732,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: stock/models.py:643 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" @@ -2853,10 +2805,10 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:662 +#: stock/models.py:663 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -3105,7 +3057,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 +#: company/templates/company/supplier_part.html:24 stock/models.py:627 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3372,7 +3324,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" @@ -3429,7 +3381,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "" #: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" @@ -3491,7 +3443,7 @@ msgstr "" #: order/models.py:949 order/models.py:1031 order/models.py:1053 #: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "" @@ -3500,7 +3452,7 @@ msgstr "" #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" @@ -3511,7 +3463,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" @@ -3521,7 +3473,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3876,7 +3828,7 @@ msgstr "" #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3967,7 +3919,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "" @@ -4049,19 +4001,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1045 +#: part/api.py:1037 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1049 +#: part/api.py:1041 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1064 +#: part/api.py:1056 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 msgid "This field is required" msgstr "" @@ -5115,7 +5067,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5496,6 +5448,58 @@ msgstr "" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "アクションが指定されていません" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "一致するアクションが見つかりませんでした" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 +msgid "Must provide barcode_data parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:129 +msgid "No match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:131 +msgid "Match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:156 +msgid "Must provide stockitem parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:163 +msgid "No matching stock item found" +msgstr "" + +#: plugin/base/barcodes/api.py:193 +msgid "Barcode already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:197 +msgid "Barcode already matches Stock Location" +msgstr "" + +#: plugin/base/barcodes/api.py:201 +msgid "Barcode already matches Part" +msgstr "" + +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 +msgid "Barcode hash already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:225 +msgid "Barcode associated with Stock Item" +msgstr "" + +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5514,50 +5518,46 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:226 -msgid "Label printing failed" -msgstr "" - -#: plugin/integration.py:146 -msgid "No author found" -msgstr "" - -#: plugin/integration.py:160 -msgid "No date found" -msgstr "" - -#: plugin/models.py:27 +#: plugin/models.py:29 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:30 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:35 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:36 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:44 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:50 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:123 msgid "Plugin" msgstr "" -#: plugin/models.py:176 +#: plugin/models.py:197 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "" @@ -5724,12 +5724,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:667 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "" @@ -5738,19 +5738,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2193 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2199 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "" @@ -5785,12 +5785,12 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:94 stock/models.py:762 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:95 stock/models.py:763 msgid "Select Owner" msgstr "" @@ -5819,203 +5819,203 @@ msgstr "" msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:561 +#: stock/models.py:568 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:604 +#: stock/models.py:611 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:613 +#: stock/models.py:620 msgid "Base part" msgstr "" -#: stock/models.py:621 +#: stock/models.py:628 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:634 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:630 +#: stock/models.py:637 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:637 +#: stock/models.py:644 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:650 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "" -#: stock/models.py:646 +#: stock/models.py:653 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:662 +#: stock/models.py:669 msgid "Serial number for this item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:683 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:681 +#: stock/models.py:688 msgid "Stock Quantity" msgstr "" -#: stock/models.py:690 +#: stock/models.py:697 msgid "Source Build" msgstr "" -#: stock/models.py:692 +#: stock/models.py:699 msgid "Build for this stock item" msgstr "" -#: stock/models.py:703 +#: stock/models.py:710 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:706 +#: stock/models.py:713 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:712 +#: stock/models.py:719 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:725 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:719 +#: stock/models.py:726 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete on deplete" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:749 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:751 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:783 +#: stock/models.py:790 msgid "Converted to part" msgstr "" -#: stock/models.py:1303 +#: stock/models.py:1310 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1309 +#: stock/models.py:1316 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1315 +#: stock/models.py:1322 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1318 +#: stock/models.py:1325 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1328 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1335 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1399 +#: stock/models.py:1406 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1402 +#: stock/models.py:1409 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1405 +#: stock/models.py:1412 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1408 +#: stock/models.py:1415 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1411 +#: stock/models.py:1418 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1414 +#: stock/models.py:1421 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1428 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1429 +#: stock/models.py:1436 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1440 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1605 +#: stock/models.py:1612 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2106 +#: stock/models.py:2113 msgid "Entry notes" msgstr "" -#: stock/models.py:2163 +#: stock/models.py:2170 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2169 +#: stock/models.py:2176 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2187 +#: stock/models.py:2194 msgid "Test name" msgstr "" -#: stock/models.py:2193 +#: stock/models.py:2200 msgid "Test result" msgstr "" -#: stock/models.py:2199 +#: stock/models.py:2206 msgid "Test output value" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2213 msgid "Test result attachment" msgstr "" -#: stock/models.py:2212 +#: stock/models.py:2219 msgid "Test notes" msgstr "" @@ -8094,12 +8094,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "" @@ -8128,11 +8128,11 @@ msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "" @@ -8140,21 +8140,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "" @@ -8166,7 +8166,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8174,11 +8174,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "" @@ -8759,209 +8759,209 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index e0d9ca510d..0a64a999f5 100644 --- a/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/InvenTree/locale/ko/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-10 04:16+0000\n" -"PO-Revision-Date: 2022-05-11 00:29\n" +"POT-Creation-Date: 2022-05-15 23:30+0000\n" +"PO-Revision-Date: 2022-05-16 01:10\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -17,18 +17,10 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:53 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "" - #: InvenTree/fields.py:100 msgid "Enter date" msgstr "" @@ -128,7 +120,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2212 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "첨부파일" @@ -146,7 +138,7 @@ msgid "Link" msgstr "링크" #: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: stock/models.py:677 msgid "Link to external URL" msgstr "외부 URL로 링크" @@ -158,10 +150,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 +#: common/models.py:1547 common/models.py:1778 common/models.py:1779 +#: common/models.py:2006 common/models.py:2007 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -200,9 +192,9 @@ msgstr "파일 이름 바꾸기 오류" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 #: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: part/models.py:2555 plugin/models.py:43 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -230,8 +222,8 @@ msgstr "이름" #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -440,7 +432,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "" @@ -616,46 +608,6 @@ msgstr "비밀번호가 일치해야 합니다" msgid "System Information" msgstr "시스템 정보" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "" @@ -687,8 +639,8 @@ msgstr "" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 +#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 msgid "Reference" msgstr "" @@ -727,8 +679,8 @@ msgstr "" #: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -750,7 +702,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" @@ -791,7 +743,7 @@ msgid "Build status code" msgstr "" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: stock/models.py:681 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" @@ -800,7 +752,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" @@ -834,7 +786,7 @@ msgstr "" #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" @@ -845,7 +797,7 @@ msgstr "" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 +#: part/templates/part/part_base.html:346 stock/models.py:675 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "외부 링크" @@ -858,14 +810,14 @@ msgstr "외부 링크" #: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 +#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "" @@ -928,9 +880,9 @@ msgstr "" #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" @@ -942,7 +894,7 @@ msgstr "" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 +#: build/templates/build/detail.html:34 common/models.py:1589 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 @@ -964,10 +916,10 @@ msgstr "" #: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -1015,7 +967,7 @@ msgstr "" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "수량 값은 0보다 커야 합니다" @@ -1060,8 +1012,8 @@ msgstr "" #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 @@ -1076,8 +1028,8 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "상태" @@ -1278,9 +1230,9 @@ msgstr "" #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "" @@ -1314,7 +1266,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1350,7 +1302,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1592,856 +1544,856 @@ msgstr "{name.title()} 파일" msgid "Select {name} file to upload" msgstr "업로드할 {name} 파일을 선택하세요" -#: common/models.py:387 +#: common/models.py:401 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:389 +#: common/models.py:403 msgid "Settings value" msgstr "" -#: common/models.py:430 +#: common/models.py:444 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:450 +#: common/models.py:464 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:461 +#: common/models.py:475 msgid "Value must be an integer value" msgstr "" -#: common/models.py:510 +#: common/models.py:524 msgid "Key string must be unique" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "No group" msgstr "" -#: common/models.py:784 +#: common/models.py:788 msgid "Restart required" msgstr "재시작 필요" -#: common/models.py:785 +#: common/models.py:789 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:792 +#: common/models.py:796 msgid "Server Instance Name" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:798 +#: common/models.py:802 msgid "Use instance name" msgstr "" -#: common/models.py:799 +#: common/models.py:803 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:805 +#: common/models.py:809 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:816 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "회사명" -#: common/models.py:813 +#: common/models.py:817 msgid "Internal company name" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Base URL" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Base URL for server instance" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Default Currency" msgstr "기본 통화" -#: common/models.py:826 +#: common/models.py:830 msgid "Default currency" msgstr "기본 통화" -#: common/models.py:832 +#: common/models.py:836 msgid "Download from URL" msgstr "URL에서 다운로드" -#: common/models.py:833 +#: common/models.py:837 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "바코드 지원" -#: common/models.py:840 +#: common/models.py:844 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:846 +#: common/models.py:850 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:851 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:857 msgid "IPN Regex" msgstr "" -#: common/models.py:854 +#: common/models.py:858 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:858 +#: common/models.py:862 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:859 +#: common/models.py:863 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:865 +#: common/models.py:869 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:866 +#: common/models.py:870 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:872 +#: common/models.py:876 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:873 +#: common/models.py:877 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:883 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:880 +#: common/models.py:884 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:886 +#: common/models.py:890 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:887 +#: common/models.py:891 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:893 +#: common/models.py:897 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:894 +#: common/models.py:898 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:904 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:901 +#: common/models.py:905 msgid "Parts are templates by default" msgstr "" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:908 +#: common/models.py:912 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:914 part/models.py:967 +#: common/models.py:918 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:915 +#: common/models.py:919 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:921 part/models.py:978 +#: common/models.py:925 part/models.py:978 msgid "Purchaseable" msgstr "구입 가능" -#: common/models.py:922 +#: common/models.py:926 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:928 part/models.py:983 +#: common/models.py:932 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "판매 가능" -#: common/models.py:929 +#: common/models.py:933 msgid "Parts are salable by default" msgstr "" -#: common/models.py:935 part/models.py:973 +#: common/models.py:939 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:936 +#: common/models.py:940 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:942 part/models.py:993 +#: common/models.py:946 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:943 +#: common/models.py:947 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:949 +#: common/models.py:953 msgid "Show Import in Views" msgstr "" -#: common/models.py:950 +#: common/models.py:954 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:956 +#: common/models.py:960 msgid "Show Price in Forms" msgstr "" -#: common/models.py:957 +#: common/models.py:961 msgid "Display part price in some forms" msgstr "" -#: common/models.py:968 +#: common/models.py:972 msgid "Show Price in BOM" msgstr "" -#: common/models.py:969 +#: common/models.py:973 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:980 +#: common/models.py:984 msgid "Show Price History" msgstr "" -#: common/models.py:981 +#: common/models.py:985 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:987 +#: common/models.py:991 msgid "Show related parts" msgstr "" -#: common/models.py:988 +#: common/models.py:992 msgid "Display related parts for a part" msgstr "" -#: common/models.py:994 +#: common/models.py:998 msgid "Create initial stock" msgstr "" -#: common/models.py:995 +#: common/models.py:999 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1001 +#: common/models.py:1005 msgid "Internal Prices" msgstr "" -#: common/models.py:1002 +#: common/models.py:1006 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1008 +#: common/models.py:1012 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1009 +#: common/models.py:1013 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1015 +#: common/models.py:1019 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1016 +#: common/models.py:1020 msgid "Format to display the part name" msgstr "" -#: common/models.py:1023 +#: common/models.py:1027 msgid "Enable Reports" msgstr "" -#: common/models.py:1024 +#: common/models.py:1028 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1034 templates/stats.html:25 msgid "Debug Mode" msgstr "디버그 모드" -#: common/models.py:1031 +#: common/models.py:1035 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1037 +#: common/models.py:1041 msgid "Page Size" msgstr "페이지 크기" -#: common/models.py:1038 +#: common/models.py:1042 msgid "Default page size for PDF reports" msgstr "PDF 보고서 기본 페이지 크기" -#: common/models.py:1048 +#: common/models.py:1052 msgid "Test Reports" msgstr "" -#: common/models.py:1049 +#: common/models.py:1053 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1055 +#: common/models.py:1059 msgid "Batch Code Template" msgstr "" -#: common/models.py:1056 +#: common/models.py:1060 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1061 +#: common/models.py:1065 msgid "Stock Expiry" msgstr "" -#: common/models.py:1062 +#: common/models.py:1066 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1068 +#: common/models.py:1072 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1069 +#: common/models.py:1073 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1075 +#: common/models.py:1079 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1076 +#: common/models.py:1080 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1078 +#: common/models.py:1082 msgid "days" msgstr "" -#: common/models.py:1083 +#: common/models.py:1087 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1084 +#: common/models.py:1088 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1090 +#: common/models.py:1094 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1091 +#: common/models.py:1095 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1097 +#: common/models.py:1101 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1098 +#: common/models.py:1102 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1103 +#: common/models.py:1107 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1104 +#: common/models.py:1108 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1108 +#: common/models.py:1112 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1109 +#: common/models.py:1113 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1118 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1115 +#: common/models.py:1119 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1121 +#: common/models.py:1125 msgid "Enable password forgot" msgstr "" -#: common/models.py:1122 +#: common/models.py:1126 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1128 +#: common/models.py:1132 msgid "Enable registration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1133 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1135 +#: common/models.py:1139 msgid "Enable SSO" msgstr "SSO 활성화" -#: common/models.py:1136 +#: common/models.py:1140 msgid "Enable SSO on the login pages" msgstr "로그인 페이지에서 SSO 활성화" -#: common/models.py:1142 +#: common/models.py:1146 msgid "Email required" msgstr "이메일 필요" -#: common/models.py:1143 +#: common/models.py:1147 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1149 +#: common/models.py:1153 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1150 +#: common/models.py:1154 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1156 +#: common/models.py:1160 msgid "Mail twice" msgstr "두 번 보내기" -#: common/models.py:1157 +#: common/models.py:1161 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1163 +#: common/models.py:1167 msgid "Password twice" msgstr "" -#: common/models.py:1164 +#: common/models.py:1168 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1170 +#: common/models.py:1174 msgid "Group on signup" msgstr "" -#: common/models.py:1171 +#: common/models.py:1175 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1177 +#: common/models.py:1181 msgid "Enforce MFA" msgstr "" -#: common/models.py:1178 +#: common/models.py:1182 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1184 +#: common/models.py:1188 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1185 +#: common/models.py:1189 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1193 +#: common/models.py:1197 msgid "Enable URL integration" msgstr "" -#: common/models.py:1194 +#: common/models.py:1198 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1201 +#: common/models.py:1205 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1202 +#: common/models.py:1206 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1209 +#: common/models.py:1213 msgid "Enable app integration" msgstr "" -#: common/models.py:1210 +#: common/models.py:1214 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1217 +#: common/models.py:1221 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1218 +#: common/models.py:1222 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1225 +#: common/models.py:1229 msgid "Enable event integration" msgstr "" -#: common/models.py:1226 +#: common/models.py:1230 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1245 common/models.py:1539 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1272 +#: common/models.py:1276 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1273 +#: common/models.py:1277 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1279 +#: common/models.py:1283 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1280 +#: common/models.py:1284 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1286 +#: common/models.py:1290 msgid "Show latest parts" msgstr "" -#: common/models.py:1287 +#: common/models.py:1291 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1293 +#: common/models.py:1297 msgid "Recent Part Count" msgstr "" -#: common/models.py:1294 +#: common/models.py:1298 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1300 +#: common/models.py:1304 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1301 +#: common/models.py:1305 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1311 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1308 +#: common/models.py:1312 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1314 +#: common/models.py:1318 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1315 +#: common/models.py:1319 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1321 +#: common/models.py:1325 msgid "Show low stock" msgstr "" -#: common/models.py:1322 +#: common/models.py:1326 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1332 msgid "Show depleted stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1333 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1339 msgid "Show needed stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1340 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1346 msgid "Show expired stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1347 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1353 msgid "Show stale stock" msgstr "" -#: common/models.py:1350 +#: common/models.py:1354 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1360 msgid "Show pending builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1361 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1367 msgid "Show overdue builds" msgstr "" -#: common/models.py:1364 +#: common/models.py:1368 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1374 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1375 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1381 msgid "Show overdue POs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1382 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1388 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1389 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1391 +#: common/models.py:1395 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1392 +#: common/models.py:1396 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1397 +#: common/models.py:1401 msgid "Enable label printing" msgstr "" -#: common/models.py:1398 +#: common/models.py:1402 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1404 +#: common/models.py:1408 msgid "Inline label display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1409 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1415 msgid "Inline report display" msgstr "" -#: common/models.py:1412 +#: common/models.py:1416 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1418 +#: common/models.py:1422 msgid "Search Parts" msgstr "" -#: common/models.py:1419 +#: common/models.py:1423 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1429 msgid "Search Categories" msgstr "" -#: common/models.py:1426 +#: common/models.py:1430 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1436 msgid "Search Stock" msgstr "" -#: common/models.py:1433 +#: common/models.py:1437 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1443 msgid "Search Locations" msgstr "" -#: common/models.py:1440 +#: common/models.py:1444 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1450 msgid "Search Companies" msgstr "" -#: common/models.py:1447 +#: common/models.py:1451 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1457 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1458 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1464 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1461 +#: common/models.py:1465 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1471 msgid "Search Preview Results" msgstr "" -#: common/models.py:1468 +#: common/models.py:1472 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1478 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1475 +#: common/models.py:1479 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1481 +#: common/models.py:1485 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1482 +#: common/models.py:1486 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1492 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1489 +#: common/models.py:1493 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1495 +#: common/models.py:1499 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1496 +#: common/models.py:1500 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1502 +#: common/models.py:1506 msgid "Date Format" msgstr "" -#: common/models.py:1503 +#: common/models.py:1507 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1521 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1518 +#: common/models.py:1522 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1590 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1583 company/serializers.py:264 +#: common/models.py:1597 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1584 +#: common/models.py:1598 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1755 common/models.py:1892 msgid "Endpoint" msgstr "" -#: common/models.py:1742 +#: common/models.py:1756 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1751 +#: common/models.py:1765 msgid "Name for this webhook" msgstr "" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1770 part/models.py:988 plugin/models.py:49 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2449,67 +2401,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1757 +#: common/models.py:1771 msgid "Is this webhook active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1785 msgid "Token" msgstr "" -#: common/models.py:1772 +#: common/models.py:1786 msgid "Token for access" msgstr "" -#: common/models.py:1779 +#: common/models.py:1793 msgid "Secret" msgstr "" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1847 +#: common/models.py:1859 msgid "Message ID" msgstr "" -#: common/models.py:1848 +#: common/models.py:1860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Host" msgstr "" -#: common/models.py:1857 +#: common/models.py:1869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Header" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Header of this message" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Body" msgstr "" -#: common/models.py:1872 +#: common/models.py:1884 msgid "Body of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1893 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Worked on" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Was the work on this message finished?" msgstr "" @@ -2646,7 +2598,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:612 +#: company/models.py:317 company/models.py:532 stock/models.py:619 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "" @@ -2673,7 +2625,7 @@ msgstr "" #: company/models.py:339 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" @@ -2703,7 +2655,7 @@ msgstr "" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2205 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2732,7 +2684,7 @@ msgstr "" #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2743,7 +2695,7 @@ msgid "Select supplier" msgstr "" #: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" @@ -2780,7 +2732,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: stock/models.py:643 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" @@ -2853,10 +2805,10 @@ msgid "Download image from URL" msgstr "URL에서 이미지 다운로드" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:662 +#: stock/models.py:663 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -3105,7 +3057,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 +#: company/templates/company/supplier_part.html:24 stock/models.py:627 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3372,7 +3324,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" @@ -3429,7 +3381,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "" #: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" @@ -3491,7 +3443,7 @@ msgstr "" #: order/models.py:949 order/models.py:1031 order/models.py:1053 #: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "" @@ -3500,7 +3452,7 @@ msgstr "" #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" @@ -3511,7 +3463,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" @@ -3521,7 +3473,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3876,7 +3828,7 @@ msgstr "" #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3967,7 +3919,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "" @@ -4049,19 +4001,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1045 +#: part/api.py:1037 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1049 +#: part/api.py:1041 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1064 +#: part/api.py:1056 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 msgid "This field is required" msgstr "" @@ -5115,7 +5067,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5496,6 +5448,58 @@ msgstr "" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 +msgid "Must provide barcode_data parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:129 +msgid "No match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:131 +msgid "Match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:156 +msgid "Must provide stockitem parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:163 +msgid "No matching stock item found" +msgstr "" + +#: plugin/base/barcodes/api.py:193 +msgid "Barcode already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:197 +msgid "Barcode already matches Stock Location" +msgstr "" + +#: plugin/base/barcodes/api.py:201 +msgid "Barcode already matches Part" +msgstr "" + +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 +msgid "Barcode hash already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:225 +msgid "Barcode associated with Stock Item" +msgstr "" + +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5514,50 +5518,46 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:226 -msgid "Label printing failed" -msgstr "" - -#: plugin/integration.py:146 -msgid "No author found" -msgstr "" - -#: plugin/integration.py:160 -msgid "No date found" -msgstr "" - -#: plugin/models.py:27 +#: plugin/models.py:29 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:30 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:35 msgid "Key" msgstr "키" -#: plugin/models.py:34 +#: plugin/models.py:36 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:44 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:50 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:123 msgid "Plugin" msgstr "" -#: plugin/models.py:176 +#: plugin/models.py:197 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "" @@ -5724,12 +5724,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:667 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "일련번호" @@ -5738,19 +5738,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2193 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2199 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "" @@ -5785,12 +5785,12 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:94 stock/models.py:762 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:95 stock/models.py:763 msgid "Select Owner" msgstr "" @@ -5819,203 +5819,203 @@ msgstr "" msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:561 +#: stock/models.py:568 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:604 +#: stock/models.py:611 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:613 +#: stock/models.py:620 msgid "Base part" msgstr "" -#: stock/models.py:621 +#: stock/models.py:628 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:634 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:630 +#: stock/models.py:637 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:637 +#: stock/models.py:644 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:650 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "" -#: stock/models.py:646 +#: stock/models.py:653 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:662 +#: stock/models.py:669 msgid "Serial number for this item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:683 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:681 +#: stock/models.py:688 msgid "Stock Quantity" msgstr "" -#: stock/models.py:690 +#: stock/models.py:697 msgid "Source Build" msgstr "" -#: stock/models.py:692 +#: stock/models.py:699 msgid "Build for this stock item" msgstr "" -#: stock/models.py:703 +#: stock/models.py:710 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:706 +#: stock/models.py:713 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:712 +#: stock/models.py:719 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:725 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:719 +#: stock/models.py:726 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete on deplete" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:749 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:751 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:783 +#: stock/models.py:790 msgid "Converted to part" msgstr "" -#: stock/models.py:1303 +#: stock/models.py:1310 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1309 +#: stock/models.py:1316 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1315 +#: stock/models.py:1322 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1318 +#: stock/models.py:1325 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1328 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1335 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1399 +#: stock/models.py:1406 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1402 +#: stock/models.py:1409 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1405 +#: stock/models.py:1412 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1408 +#: stock/models.py:1415 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1411 +#: stock/models.py:1418 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1414 +#: stock/models.py:1421 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1428 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1429 +#: stock/models.py:1436 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1440 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1605 +#: stock/models.py:1612 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2106 +#: stock/models.py:2113 msgid "Entry notes" msgstr "" -#: stock/models.py:2163 +#: stock/models.py:2170 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2169 +#: stock/models.py:2176 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2187 +#: stock/models.py:2194 msgid "Test name" msgstr "" -#: stock/models.py:2193 +#: stock/models.py:2200 msgid "Test result" msgstr "" -#: stock/models.py:2199 +#: stock/models.py:2206 msgid "Test output value" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2213 msgid "Test result attachment" msgstr "" -#: stock/models.py:2212 +#: stock/models.py:2219 msgid "Test notes" msgstr "" @@ -8094,12 +8094,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "" @@ -8128,11 +8128,11 @@ msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "" @@ -8140,21 +8140,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "" @@ -8166,7 +8166,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8174,11 +8174,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "" @@ -8759,209 +8759,209 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "단가" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index aadac1bd4b..4400f5c830 100644 --- a/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/InvenTree/locale/nl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-10 04:16+0000\n" -"PO-Revision-Date: 2022-05-11 00:29\n" +"POT-Creation-Date: 2022-05-15 23:30+0000\n" +"PO-Revision-Date: 2022-05-16 01:10\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -17,18 +17,10 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:53 msgid "API endpoint not found" msgstr "API eindpunt niet gevonden" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "Geen actie gespecificeerd" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "Geen overeenkomende actie gevonden" - #: InvenTree/fields.py:100 msgid "Enter date" msgstr "Voer datum in" @@ -128,7 +120,7 @@ msgstr "Ontbrekend bestand" msgid "Missing external link" msgstr "Externe link ontbreekt" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2212 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "Bijlage" @@ -146,7 +138,7 @@ msgid "Link" msgstr "Link" #: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: stock/models.py:677 msgid "Link to external URL" msgstr "Link naar externe URL" @@ -158,10 +150,10 @@ msgstr "Opmerking" msgid "File comment" msgstr "Bestand opmerking" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 +#: common/models.py:1547 common/models.py:1778 common/models.py:1779 +#: common/models.py:2006 common/models.py:2007 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -200,9 +192,9 @@ msgstr "Fout bij hernoemen bestand" msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 #: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: part/models.py:2555 plugin/models.py:43 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -230,8 +222,8 @@ msgstr "Naam" #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -440,7 +432,7 @@ msgid "Returned" msgstr "Retour" #: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "Verzonden" @@ -616,46 +608,6 @@ msgstr "Wachtwoordvelden komen niet overeen" msgid "System Information" msgstr "Systeeminformatie" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "De parameter barcode_data moet worden aangeleverd" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "Geen overeenkomst gevonden voor streepjescodegegevens" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "Overeenkomst gevonden voor streepjescodegegevens" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "Moet voorraadartikelparameter aanleveren" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "Geen overeenkomend voorraadartikel gevonden" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "Streepjescode komt al overeen met Voorraadartikel" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "Streepjescode komt al overeen met Voorraadlocatie" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "Streepjescode komt al overeen met Onderdeel" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "Streepjescode hash komt al overeen met Voorraadartikel" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "Streepjescode gekoppeld aan Voorraadartikel" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "Ongeldige keuze voor bovenliggende productie" @@ -687,8 +639,8 @@ msgstr "Productieopdracht Referentie" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 +#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 msgid "Reference" msgstr "Referentie" @@ -727,8 +679,8 @@ msgstr "Productieopdracht waar dit productie aan is toegewezen" #: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -750,7 +702,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Verkooporder waar deze productie aan is toegewezen" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "Bronlocatie" @@ -791,7 +743,7 @@ msgid "Build status code" msgstr "Productiestatuscode" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: stock/models.py:681 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "Batchcode" @@ -800,7 +752,7 @@ msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" #: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "Aanmaakdatum" @@ -834,7 +786,7 @@ msgstr "Gebruiker die de productie-opdracht heeft gegeven" #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "Verantwoordelijke" @@ -845,7 +797,7 @@ msgstr "Gebruiker verantwoordelijk voor deze productieopdracht" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 +#: part/templates/part/part_base.html:346 stock/models.py:675 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "Externe Link" @@ -858,14 +810,14 @@ msgstr "Externe Link" #: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 +#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "Opmerkingen" @@ -928,9 +880,9 @@ msgstr "Product om onderdelen toe te wijzen" #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" @@ -942,7 +894,7 @@ msgstr "Bron voorraadartikel" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 +#: build/templates/build/detail.html:34 common/models.py:1589 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 @@ -964,10 +916,10 @@ msgstr "Bron voorraadartikel" #: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -1015,7 +967,7 @@ msgstr "Voer hoeveelheid in voor productie uitvoer" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" @@ -1060,8 +1012,8 @@ msgstr "Een lijst van productieuitvoeren moet worden verstrekt" #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 @@ -1076,8 +1028,8 @@ msgstr "Locatie van voltooide productieuitvoeren" #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "Status" @@ -1278,9 +1230,9 @@ msgstr "Voorraad is niet volledig toegewezen aan deze productieopdracht" #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "Streefdatum" @@ -1314,7 +1266,7 @@ msgstr "Voltooid" #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "Verkooporder" @@ -1350,7 +1302,7 @@ msgid "Stock can be taken from any available location." msgstr "Voorraad kan worden genomen van elke beschikbare locatie." #: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "Bestemming" @@ -1592,856 +1544,856 @@ msgstr "{name.title()} Bestand" msgid "Select {name} file to upload" msgstr "Kies {name} bestand om te uploaden" -#: common/models.py:387 +#: common/models.py:401 msgid "Settings key (must be unique - case insensitive)" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig)" -#: common/models.py:389 +#: common/models.py:403 msgid "Settings value" msgstr "Instellingswaarde" -#: common/models.py:430 +#: common/models.py:444 msgid "Chosen value is not a valid option" msgstr "Gekozen waarde is geen geldige optie" -#: common/models.py:450 +#: common/models.py:464 msgid "Value must be a boolean value" msgstr "Waarde moet een booleaanse waarde zijn" -#: common/models.py:461 +#: common/models.py:475 msgid "Value must be an integer value" msgstr "Waarde moet een geheel getal zijn" -#: common/models.py:510 +#: common/models.py:524 msgid "Key string must be unique" msgstr "Sleutelreeks moet uniek zijn" -#: common/models.py:742 +#: common/models.py:746 msgid "No group" msgstr "Geen groep" -#: common/models.py:784 +#: common/models.py:788 msgid "Restart required" msgstr "Opnieuw opstarten vereist" -#: common/models.py:785 +#: common/models.py:789 msgid "A setting has been changed which requires a server restart" msgstr "Een instelling is gewijzigd waarvoor een herstart van de server vereist is" -#: common/models.py:792 +#: common/models.py:796 msgid "Server Instance Name" msgstr "ID Serverinstantie" -#: common/models.py:794 +#: common/models.py:798 msgid "String descriptor for the server instance" msgstr "Stringbeschrijving voor de server instantie" -#: common/models.py:798 +#: common/models.py:802 msgid "Use instance name" msgstr "Gebruik de instantie naam" -#: common/models.py:799 +#: common/models.py:803 msgid "Use the instance name in the title-bar" msgstr "Gebruik de naam van de instantie in de titelbalk" -#: common/models.py:805 +#: common/models.py:809 msgid "Restrict showing `about`" msgstr "Tonen `over` beperken" -#: common/models.py:806 +#: common/models.py:810 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:816 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "Bedrijfsnaam" -#: common/models.py:813 +#: common/models.py:817 msgid "Internal company name" msgstr "Interne bedrijfsnaam" -#: common/models.py:818 +#: common/models.py:822 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:819 +#: common/models.py:823 msgid "Base URL for server instance" msgstr "Basis URL voor serverinstantie" -#: common/models.py:825 +#: common/models.py:829 msgid "Default Currency" msgstr "Standaard Valuta" -#: common/models.py:826 +#: common/models.py:830 msgid "Default currency" msgstr "Standaard valuta" -#: common/models.py:832 +#: common/models.py:836 msgid "Download from URL" msgstr "Download van URL" -#: common/models.py:833 +#: common/models.py:837 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:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Streepjescodeondersteuning" -#: common/models.py:840 +#: common/models.py:844 msgid "Enable barcode scanner support" msgstr "Streepjescodescanner ondersteuning inschakelen" -#: common/models.py:846 +#: common/models.py:850 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:851 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:857 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:854 +#: common/models.py:858 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulier expressiepatroon voor het overeenkomende Onderdeel IPN" -#: common/models.py:858 +#: common/models.py:862 msgid "Allow Duplicate IPN" msgstr "Duplicaat IPN toestaan" -#: common/models.py:859 +#: common/models.py:863 msgid "Allow multiple parts to share the same IPN" msgstr "Toestaan dat meerdere onderdelen dezelfde IPN gebruiken" -#: common/models.py:865 +#: common/models.py:869 msgid "Allow Editing IPN" msgstr "Bewerken IPN toestaan" -#: common/models.py:866 +#: common/models.py:870 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:872 +#: common/models.py:876 msgid "Copy Part BOM Data" msgstr "Kopieer Onderdeel Stuklijstgegevens" -#: common/models.py:873 +#: common/models.py:877 msgid "Copy BOM data by default when duplicating a part" msgstr "Kopieer standaard stuklijstgegevens bij het dupliceren van een onderdeel" -#: common/models.py:879 +#: common/models.py:883 msgid "Copy Part Parameter Data" msgstr "Kopieer Onderdeel Parametergegevens" -#: common/models.py:880 +#: common/models.py:884 msgid "Copy parameter data by default when duplicating a part" msgstr "Parametergegevens standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:886 +#: common/models.py:890 msgid "Copy Part Test Data" msgstr "Kopieer Onderdeel Testdata" -#: common/models.py:887 +#: common/models.py:891 msgid "Copy test data by default when duplicating a part" msgstr "Testdata standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:893 +#: common/models.py:897 msgid "Copy Category Parameter Templates" msgstr "Kopiëer Categorieparameter Sjablonen" -#: common/models.py:894 +#: common/models.py:898 msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:904 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Sjabloon" -#: common/models.py:901 +#: common/models.py:905 msgid "Parts are templates by default" msgstr "Onderdelen zijn standaard sjablonen" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Samenstelling" -#: common/models.py:908 +#: common/models.py:912 msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/models.py:914 part/models.py:967 +#: common/models.py:918 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Component" -#: common/models.py:915 +#: common/models.py:919 msgid "Parts can be used as sub-components by default" msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten" -#: common/models.py:921 part/models.py:978 +#: common/models.py:925 part/models.py:978 msgid "Purchaseable" msgstr "Koopbaar" -#: common/models.py:922 +#: common/models.py:926 msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/models.py:928 part/models.py:983 +#: common/models.py:932 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Verkoopbaar" -#: common/models.py:929 +#: common/models.py:933 msgid "Parts are salable by default" msgstr "Onderdelen kunnen standaard verkocht worden" -#: common/models.py:935 part/models.py:973 +#: common/models.py:939 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Volgbaar" -#: common/models.py:936 +#: common/models.py:940 msgid "Parts are trackable by default" msgstr "Onderdelen kunnen standaard gevolgd worden" -#: common/models.py:942 part/models.py:993 +#: common/models.py:946 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtueel" -#: common/models.py:943 +#: common/models.py:947 msgid "Parts are virtual by default" msgstr "Onderdelen zijn standaard virtueel" -#: common/models.py:949 +#: common/models.py:953 msgid "Show Import in Views" msgstr "Toon Import in Weergaven" -#: common/models.py:950 +#: common/models.py:954 msgid "Display the import wizard in some part views" msgstr "Toon de importwizard in sommige onderdelenweergaven" -#: common/models.py:956 +#: common/models.py:960 msgid "Show Price in Forms" msgstr "Toon Prijs in Formulieren" -#: common/models.py:957 +#: common/models.py:961 msgid "Display part price in some forms" msgstr "Toon onderdeelprijs in sommige formulieren" -#: common/models.py:968 +#: common/models.py:972 msgid "Show Price in BOM" msgstr "Prijs in Stuklijst Weergeven" -#: common/models.py:969 +#: common/models.py:973 msgid "Include pricing information in BOM tables" msgstr "Prijsinformatie in Stuklijsttabellen opnemen" -#: common/models.py:980 +#: common/models.py:984 msgid "Show Price History" msgstr "Toon Prijsgeschiedenis" -#: common/models.py:981 +#: common/models.py:985 msgid "Display historical pricing for Part" msgstr "Toon historische prijzen voor Onderdeel" -#: common/models.py:987 +#: common/models.py:991 msgid "Show related parts" msgstr "Verwante onderdelen tonen" -#: common/models.py:988 +#: common/models.py:992 msgid "Display related parts for a part" msgstr "Verwante onderdelen voor een onderdeel tonen" -#: common/models.py:994 +#: common/models.py:998 msgid "Create initial stock" msgstr "Eerste voorraad aanmaken" -#: common/models.py:995 +#: common/models.py:999 msgid "Create initial stock on part creation" msgstr "Aanmaken eerste voorraad bij het maken van onderdeel" -#: common/models.py:1001 +#: common/models.py:1005 msgid "Internal Prices" msgstr "Interne Prijzen" -#: common/models.py:1002 +#: common/models.py:1006 msgid "Enable internal prices for parts" msgstr "Inschakelen van interne prijzen voor onderdelen" -#: common/models.py:1008 +#: common/models.py:1012 msgid "Internal Price as BOM-Price" msgstr "Interne Prijs als Stuklijst Prijs" -#: common/models.py:1009 +#: common/models.py:1013 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "Gebruik de interne prijs (indien ingesteld) in stuklijst prijsberekeningen" -#: common/models.py:1015 +#: common/models.py:1019 msgid "Part Name Display Format" msgstr "Onderdelennaam Weergaveopmaak" -#: common/models.py:1016 +#: common/models.py:1020 msgid "Format to display the part name" msgstr "Opmaak om de onderdeelnaam weer te geven" -#: common/models.py:1023 +#: common/models.py:1027 msgid "Enable Reports" msgstr "Activeer Rapportages" -#: common/models.py:1024 +#: common/models.py:1028 msgid "Enable generation of reports" msgstr "Activeer het genereren van rapporten" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1034 templates/stats.html:25 msgid "Debug Mode" msgstr "Foutopsporingsmodus" -#: common/models.py:1031 +#: common/models.py:1035 msgid "Generate reports in debug mode (HTML output)" msgstr "Rapporten genereren in debug modus (HTML uitvoer)" -#: common/models.py:1037 +#: common/models.py:1041 msgid "Page Size" msgstr "Paginagrootte" -#: common/models.py:1038 +#: common/models.py:1042 msgid "Default page size for PDF reports" msgstr "Standaard paginagrootte voor PDF rapporten" -#: common/models.py:1048 +#: common/models.py:1052 msgid "Test Reports" msgstr "Testrapporten" -#: common/models.py:1049 +#: common/models.py:1053 msgid "Enable generation of test reports" msgstr "Activeer het genereren van testrapporten" -#: common/models.py:1055 +#: common/models.py:1059 msgid "Batch Code Template" msgstr "Batchcode Sjabloon" -#: common/models.py:1056 +#: common/models.py:1060 msgid "Template for generating default batch codes for stock items" msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen" -#: common/models.py:1061 +#: common/models.py:1065 msgid "Stock Expiry" msgstr "Verlopen Voorraad" -#: common/models.py:1062 +#: common/models.py:1066 msgid "Enable stock expiry functionality" msgstr "Verlopen voorraad functionaliteit inschakelen" -#: common/models.py:1068 +#: common/models.py:1072 msgid "Sell Expired Stock" msgstr "Verkoop Verlopen Voorraad" -#: common/models.py:1069 +#: common/models.py:1073 msgid "Allow sale of expired stock" msgstr "Verkoop verlopen voorraad toestaan" -#: common/models.py:1075 +#: common/models.py:1079 msgid "Stock Stale Time" msgstr "Voorraad Vervaltijd" -#: common/models.py:1076 +#: common/models.py:1080 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1078 +#: common/models.py:1082 msgid "days" msgstr "dagen" -#: common/models.py:1083 +#: common/models.py:1087 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1084 +#: common/models.py:1088 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1090 +#: common/models.py:1094 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1091 +#: common/models.py:1095 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1097 +#: common/models.py:1101 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1098 +#: common/models.py:1102 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1103 +#: common/models.py:1107 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1104 +#: common/models.py:1108 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1108 +#: common/models.py:1112 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1109 +#: common/models.py:1113 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1118 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1115 +#: common/models.py:1119 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1121 +#: common/models.py:1125 msgid "Enable password forgot" msgstr "" -#: common/models.py:1122 +#: common/models.py:1126 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1128 +#: common/models.py:1132 msgid "Enable registration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1133 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1135 +#: common/models.py:1139 msgid "Enable SSO" msgstr "" -#: common/models.py:1136 +#: common/models.py:1140 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1142 +#: common/models.py:1146 msgid "Email required" msgstr "" -#: common/models.py:1143 +#: common/models.py:1147 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1149 +#: common/models.py:1153 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1150 +#: common/models.py:1154 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1156 +#: common/models.py:1160 msgid "Mail twice" msgstr "" -#: common/models.py:1157 +#: common/models.py:1161 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1163 +#: common/models.py:1167 msgid "Password twice" msgstr "" -#: common/models.py:1164 +#: common/models.py:1168 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1170 +#: common/models.py:1174 msgid "Group on signup" msgstr "" -#: common/models.py:1171 +#: common/models.py:1175 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1177 +#: common/models.py:1181 msgid "Enforce MFA" msgstr "" -#: common/models.py:1178 +#: common/models.py:1182 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1184 +#: common/models.py:1188 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1185 +#: common/models.py:1189 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1193 +#: common/models.py:1197 msgid "Enable URL integration" msgstr "" -#: common/models.py:1194 +#: common/models.py:1198 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1201 +#: common/models.py:1205 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1202 +#: common/models.py:1206 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1209 +#: common/models.py:1213 msgid "Enable app integration" msgstr "" -#: common/models.py:1210 +#: common/models.py:1214 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1217 +#: common/models.py:1221 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1218 +#: common/models.py:1222 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1225 +#: common/models.py:1229 msgid "Enable event integration" msgstr "" -#: common/models.py:1226 +#: common/models.py:1230 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1245 common/models.py:1539 msgid "Settings key (must be unique - case insensitive" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" -#: common/models.py:1272 +#: common/models.py:1276 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1273 +#: common/models.py:1277 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1279 +#: common/models.py:1283 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1280 +#: common/models.py:1284 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1286 +#: common/models.py:1290 msgid "Show latest parts" msgstr "" -#: common/models.py:1287 +#: common/models.py:1291 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1293 +#: common/models.py:1297 msgid "Recent Part Count" msgstr "" -#: common/models.py:1294 +#: common/models.py:1298 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1300 +#: common/models.py:1304 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1301 +#: common/models.py:1305 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1311 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1308 +#: common/models.py:1312 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1314 +#: common/models.py:1318 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1315 +#: common/models.py:1319 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1321 +#: common/models.py:1325 msgid "Show low stock" msgstr "" -#: common/models.py:1322 +#: common/models.py:1326 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1332 msgid "Show depleted stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1333 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1339 msgid "Show needed stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1340 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1346 msgid "Show expired stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1347 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1353 msgid "Show stale stock" msgstr "" -#: common/models.py:1350 +#: common/models.py:1354 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1360 msgid "Show pending builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1361 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1367 msgid "Show overdue builds" msgstr "" -#: common/models.py:1364 +#: common/models.py:1368 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1374 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1375 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1381 msgid "Show overdue POs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1382 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1388 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1389 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1391 +#: common/models.py:1395 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1392 +#: common/models.py:1396 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1397 +#: common/models.py:1401 msgid "Enable label printing" msgstr "" -#: common/models.py:1398 +#: common/models.py:1402 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1404 +#: common/models.py:1408 msgid "Inline label display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1409 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1415 msgid "Inline report display" msgstr "" -#: common/models.py:1412 +#: common/models.py:1416 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1418 +#: common/models.py:1422 msgid "Search Parts" msgstr "" -#: common/models.py:1419 +#: common/models.py:1423 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1429 msgid "Search Categories" msgstr "" -#: common/models.py:1426 +#: common/models.py:1430 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1436 msgid "Search Stock" msgstr "" -#: common/models.py:1433 +#: common/models.py:1437 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1443 msgid "Search Locations" msgstr "" -#: common/models.py:1440 +#: common/models.py:1444 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1450 msgid "Search Companies" msgstr "" -#: common/models.py:1447 +#: common/models.py:1451 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1457 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1458 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1464 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1461 +#: common/models.py:1465 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1471 msgid "Search Preview Results" msgstr "" -#: common/models.py:1468 +#: common/models.py:1472 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1478 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1475 +#: common/models.py:1479 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1481 +#: common/models.py:1485 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1482 +#: common/models.py:1486 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1492 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1489 +#: common/models.py:1493 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1495 +#: common/models.py:1499 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1496 +#: common/models.py:1500 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1502 +#: common/models.py:1506 msgid "Date Format" msgstr "" -#: common/models.py:1503 +#: common/models.py:1507 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1521 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1518 +#: common/models.py:1522 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1590 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1583 company/serializers.py:264 +#: common/models.py:1597 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1584 +#: common/models.py:1598 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1755 common/models.py:1892 msgid "Endpoint" msgstr "" -#: common/models.py:1742 +#: common/models.py:1756 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1751 +#: common/models.py:1765 msgid "Name for this webhook" msgstr "" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1770 part/models.py:988 plugin/models.py:49 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2449,67 +2401,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1757 +#: common/models.py:1771 msgid "Is this webhook active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1785 msgid "Token" msgstr "" -#: common/models.py:1772 +#: common/models.py:1786 msgid "Token for access" msgstr "" -#: common/models.py:1779 +#: common/models.py:1793 msgid "Secret" msgstr "" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1847 +#: common/models.py:1859 msgid "Message ID" msgstr "" -#: common/models.py:1848 +#: common/models.py:1860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Host" msgstr "" -#: common/models.py:1857 +#: common/models.py:1869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Header" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Header of this message" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Body" msgstr "" -#: common/models.py:1872 +#: common/models.py:1884 msgid "Body of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1893 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Worked on" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Was the work on this message finished?" msgstr "" @@ -2646,7 +2598,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:612 +#: company/models.py:317 company/models.py:532 stock/models.py:619 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "" @@ -2673,7 +2625,7 @@ msgstr "Fabrikant selecteren" #: company/models.py:339 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" @@ -2703,7 +2655,7 @@ msgstr "" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2205 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "Waarde" @@ -2732,7 +2684,7 @@ msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderd #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2743,7 +2695,7 @@ msgid "Select supplier" msgstr "Leverancier selecteren" #: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" @@ -2780,7 +2732,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: stock/models.py:643 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" @@ -2853,10 +2805,10 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:662 +#: stock/models.py:663 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -3105,7 +3057,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 +#: company/templates/company/supplier_part.html:24 stock/models.py:627 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3372,7 +3324,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" @@ -3429,7 +3381,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "" #: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" @@ -3491,7 +3443,7 @@ msgstr "" #: order/models.py:949 order/models.py:1031 order/models.py:1053 #: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "" @@ -3500,7 +3452,7 @@ msgstr "" #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" @@ -3511,7 +3463,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" @@ -3521,7 +3473,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3876,7 +3828,7 @@ msgstr "" #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3967,7 +3919,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "" @@ -4049,19 +4001,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1045 +#: part/api.py:1037 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1049 +#: part/api.py:1041 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1064 +#: part/api.py:1056 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 msgid "This field is required" msgstr "" @@ -5115,7 +5067,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5496,6 +5448,58 @@ msgstr "" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "Geen actie gespecificeerd" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "Geen overeenkomende actie gevonden" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 +msgid "Must provide barcode_data parameter" +msgstr "De parameter barcode_data moet worden aangeleverd" + +#: plugin/base/barcodes/api.py:129 +msgid "No match found for barcode data" +msgstr "Geen overeenkomst gevonden voor streepjescodegegevens" + +#: plugin/base/barcodes/api.py:131 +msgid "Match found for barcode data" +msgstr "Overeenkomst gevonden voor streepjescodegegevens" + +#: plugin/base/barcodes/api.py:156 +msgid "Must provide stockitem parameter" +msgstr "Moet voorraadartikelparameter aanleveren" + +#: plugin/base/barcodes/api.py:163 +msgid "No matching stock item found" +msgstr "Geen overeenkomend voorraadartikel gevonden" + +#: plugin/base/barcodes/api.py:193 +msgid "Barcode already matches Stock Item" +msgstr "Streepjescode komt al overeen met Voorraadartikel" + +#: plugin/base/barcodes/api.py:197 +msgid "Barcode already matches Stock Location" +msgstr "Streepjescode komt al overeen met Voorraadlocatie" + +#: plugin/base/barcodes/api.py:201 +msgid "Barcode already matches Part" +msgstr "Streepjescode komt al overeen met Onderdeel" + +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 +msgid "Barcode hash already matches Stock Item" +msgstr "Streepjescode hash komt al overeen met Voorraadartikel" + +#: plugin/base/barcodes/api.py:225 +msgid "Barcode associated with Stock Item" +msgstr "Streepjescode gekoppeld aan Voorraadartikel" + +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5514,50 +5518,46 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:226 -msgid "Label printing failed" -msgstr "" - -#: plugin/integration.py:146 -msgid "No author found" -msgstr "" - -#: plugin/integration.py:160 -msgid "No date found" -msgstr "" - -#: plugin/models.py:27 +#: plugin/models.py:29 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:30 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:35 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:36 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:44 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:50 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:123 msgid "Plugin" msgstr "" -#: plugin/models.py:176 +#: plugin/models.py:197 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "" @@ -5724,12 +5724,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:667 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "Serienummer" @@ -5738,19 +5738,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2193 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2199 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "" @@ -5785,12 +5785,12 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:94 stock/models.py:762 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:95 stock/models.py:763 msgid "Select Owner" msgstr "" @@ -5819,203 +5819,203 @@ msgstr "" msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:561 +#: stock/models.py:568 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:604 +#: stock/models.py:611 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:613 +#: stock/models.py:620 msgid "Base part" msgstr "" -#: stock/models.py:621 +#: stock/models.py:628 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:634 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Voorraadlocatie" -#: stock/models.py:630 +#: stock/models.py:637 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:637 +#: stock/models.py:644 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:650 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "" -#: stock/models.py:646 +#: stock/models.py:653 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:662 +#: stock/models.py:669 msgid "Serial number for this item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:683 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:681 +#: stock/models.py:688 msgid "Stock Quantity" msgstr "" -#: stock/models.py:690 +#: stock/models.py:697 msgid "Source Build" msgstr "" -#: stock/models.py:692 +#: stock/models.py:699 msgid "Build for this stock item" msgstr "" -#: stock/models.py:703 +#: stock/models.py:710 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:706 +#: stock/models.py:713 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:712 +#: stock/models.py:719 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:725 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:719 +#: stock/models.py:726 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete on deplete" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:749 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:751 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:783 +#: stock/models.py:790 msgid "Converted to part" msgstr "" -#: stock/models.py:1303 +#: stock/models.py:1310 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1309 +#: stock/models.py:1316 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1315 +#: stock/models.py:1322 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1318 +#: stock/models.py:1325 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1328 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1335 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1399 +#: stock/models.py:1406 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1402 +#: stock/models.py:1409 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1405 +#: stock/models.py:1412 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1408 +#: stock/models.py:1415 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1411 +#: stock/models.py:1418 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1414 +#: stock/models.py:1421 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1428 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1429 +#: stock/models.py:1436 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1440 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1605 +#: stock/models.py:1612 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2106 +#: stock/models.py:2113 msgid "Entry notes" msgstr "" -#: stock/models.py:2163 +#: stock/models.py:2170 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2169 +#: stock/models.py:2176 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2187 +#: stock/models.py:2194 msgid "Test name" msgstr "" -#: stock/models.py:2193 +#: stock/models.py:2200 msgid "Test result" msgstr "" -#: stock/models.py:2199 +#: stock/models.py:2206 msgid "Test output value" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2213 msgid "Test result attachment" msgstr "" -#: stock/models.py:2212 +#: stock/models.py:2219 msgid "Test notes" msgstr "" @@ -8094,12 +8094,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "Voorraadtoewijzing bewerken" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "Voorraadtoewijzing verwijderen" @@ -8128,11 +8128,11 @@ msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "Toegewezen" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "" @@ -8140,21 +8140,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "Voorraad toewijzen" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "Onderdelen selecteren" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "Er moet op zijn minst één onderdeel toegewezen worden" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "" @@ -8166,7 +8166,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "Selecteer bron locatie (laat het veld leeg om iedere locatie te gebruiken)" @@ -8174,11 +8174,11 @@ msgstr "Selecteer bron locatie (laat het veld leeg om iedere locatie te gebruike msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "" @@ -8759,209 +8759,209 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "Bevestig de voorraadtoewijzing" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index 1a0988fd0f..c8e130f97c 100644 --- a/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/InvenTree/locale/no/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-10 04:16+0000\n" -"PO-Revision-Date: 2022-05-11 00:29\n" +"POT-Creation-Date: 2022-05-15 23:30+0000\n" +"PO-Revision-Date: 2022-05-16 01:10\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -17,18 +17,10 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:53 msgid "API endpoint not found" msgstr "API endepunkt ikke funnet" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "Ingen handling spesifisert" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "Ingen samsvarende handling funnet" - #: InvenTree/fields.py:100 msgid "Enter date" msgstr "Oppgi dato" @@ -128,7 +120,7 @@ msgstr "Fil mangler" msgid "Missing external link" msgstr "Mangler eksternlenke" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2212 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "Vedlegg" @@ -146,7 +138,7 @@ msgid "Link" msgstr "Lenke" #: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: stock/models.py:677 msgid "Link to external URL" msgstr "Lenke til ekstern URL" @@ -158,10 +150,10 @@ msgstr "Kommenter" msgid "File comment" msgstr "Kommentar til fil" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 +#: common/models.py:1547 common/models.py:1778 common/models.py:1779 +#: common/models.py:2006 common/models.py:2007 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -200,9 +192,9 @@ msgstr "Feil ved endring av navn" msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 #: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: part/models.py:2555 plugin/models.py:43 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -230,8 +222,8 @@ msgstr "Navn" #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -440,7 +432,7 @@ msgid "Returned" msgstr "Returnert" #: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "Sendt" @@ -616,46 +608,6 @@ msgstr "Passordfeltene må samsvare" msgid "System Information" msgstr "Systeminformasjon" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "Må oppgi gyldig strekkode_data parameter" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "Ingen treff funnet for strekkodedata" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "Treff funnet for strekkodedata" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "Må oppgi lagervareparameter" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "Ingen samsvarende lagervare funnet" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "Strekkoden samsvarer allerede med lagervare" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "Strekkode samsvarer allerede med lagerplassering" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "Strekkode samsvarer allerede med delen" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "Strekkkoden hash samsvarer allerede med lagervare" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "Strekkode tilknyttet lagervare" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "Ugylding valg for overordnet build" @@ -687,8 +639,8 @@ msgstr "Bygg ordrereferanse" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 +#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 msgid "Reference" msgstr "Referanse" @@ -727,8 +679,8 @@ msgstr "Build order som denne build er tildelt til" #: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -750,7 +702,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Salgorder som denne build er tildelt til" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "Kilde plassering" @@ -791,7 +743,7 @@ msgid "Build status code" msgstr "Byggstatuskode" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: stock/models.py:681 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "Batch kode" @@ -800,7 +752,7 @@ msgid "Batch code for this build output" msgstr "Batch kode for denne build output" #: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "Opprettelsesdato" @@ -834,7 +786,7 @@ msgstr "Brukeren som utstede denne prosjekt order" #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "Ansvarlig" @@ -845,7 +797,7 @@ msgstr "Bruker ansvarlig for denne prosjekt order" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 +#: part/templates/part/part_base.html:346 stock/models.py:675 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "Ekstern link" @@ -858,14 +810,14 @@ msgstr "Ekstern link" #: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 +#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "Notater" @@ -928,9 +880,9 @@ msgstr "Bygge for å tildele deler" #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" @@ -942,7 +894,7 @@ msgstr "Kilde lagervare" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 +#: build/templates/build/detail.html:34 common/models.py:1589 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 @@ -964,10 +916,10 @@ msgstr "Kilde lagervare" #: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -1015,7 +967,7 @@ msgstr "Angi antall for build utgang" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" @@ -1060,8 +1012,8 @@ msgstr "" #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 @@ -1076,8 +1028,8 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "" @@ -1278,9 +1230,9 @@ msgstr "" #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "Måldato" @@ -1314,7 +1266,7 @@ msgstr "Fullført" #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "Salgsorder" @@ -1350,7 +1302,7 @@ msgid "Stock can be taken from any available location." msgstr "Lagervare kan hentes fra alle tilgengelige steder." #: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "Destinasjon" @@ -1592,856 +1544,856 @@ msgstr "" msgid "Select {name} file to upload" msgstr "Velg {name} fil som skal lastes opp" -#: common/models.py:387 +#: common/models.py:401 msgid "Settings key (must be unique - case insensitive)" msgstr "Innstillingsnøkkel (må være unik - ufølsom for store of små bokstaver)" -#: common/models.py:389 +#: common/models.py:403 msgid "Settings value" msgstr "" -#: common/models.py:430 +#: common/models.py:444 msgid "Chosen value is not a valid option" msgstr "Valgt verdi er ikke et gyldig alternativ" -#: common/models.py:450 +#: common/models.py:464 msgid "Value must be a boolean value" msgstr "Verdien må være en boolsk verdi" -#: common/models.py:461 +#: common/models.py:475 msgid "Value must be an integer value" msgstr "" -#: common/models.py:510 +#: common/models.py:524 msgid "Key string must be unique" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "No group" msgstr "Ingen gruppe" -#: common/models.py:784 +#: common/models.py:788 msgid "Restart required" msgstr "Omstart påkrevd" -#: common/models.py:785 +#: common/models.py:789 msgid "A setting has been changed which requires a server restart" msgstr "En innstilling har blitt endrett som krever en serveromstart" -#: common/models.py:792 +#: common/models.py:796 msgid "Server Instance Name" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:798 +#: common/models.py:802 msgid "Use instance name" msgstr "" -#: common/models.py:799 +#: common/models.py:803 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:805 +#: common/models.py:809 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:816 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "Firmanavn" -#: common/models.py:813 +#: common/models.py:817 msgid "Internal company name" msgstr "Internt firmanavn" -#: common/models.py:818 +#: common/models.py:822 msgid "Base URL" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Base URL for server instance" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Default Currency" msgstr "Standardvaluta" -#: common/models.py:826 +#: common/models.py:830 msgid "Default currency" msgstr "Standardvaluta" -#: common/models.py:832 +#: common/models.py:836 msgid "Download from URL" msgstr "Last ned fra URL" -#: common/models.py:833 +#: common/models.py:837 msgid "Allow download of remote images and files from external URL" msgstr "Tilat nedlastning av eksterne bilder og filer fra ekstern URL" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Strekkode støtte" -#: common/models.py:840 +#: common/models.py:844 msgid "Enable barcode scanner support" msgstr "Aktiver skrekkodeleser støtte" -#: common/models.py:846 +#: common/models.py:850 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:851 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:857 msgid "IPN Regex" msgstr "" -#: common/models.py:854 +#: common/models.py:858 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:858 +#: common/models.py:862 msgid "Allow Duplicate IPN" msgstr "Tilat duplisert IPN" -#: common/models.py:859 +#: common/models.py:863 msgid "Allow multiple parts to share the same IPN" msgstr "Tillat flere deler å dele samme IPN" -#: common/models.py:865 +#: common/models.py:869 msgid "Allow Editing IPN" msgstr "Tillat redigering av IPN" -#: common/models.py:866 +#: common/models.py:870 msgid "Allow changing the IPN value while editing a part" msgstr "Tillat å endre IPN-verdien mens du redigerer en del" -#: common/models.py:872 +#: common/models.py:876 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:873 +#: common/models.py:877 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:883 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:880 +#: common/models.py:884 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:886 +#: common/models.py:890 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:887 +#: common/models.py:891 msgid "Copy test data by default when duplicating a part" msgstr "Kopier testdata som standard ved duplisering av en del" -#: common/models.py:893 +#: common/models.py:897 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:894 +#: common/models.py:898 msgid "Copy category parameter templates when creating a part" msgstr "Kopier kategori parametermaler ved oppretting av en del" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:904 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Mal" -#: common/models.py:901 +#: common/models.py:905 msgid "Parts are templates by default" msgstr "Deler er maler som standard" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Montering" -#: common/models.py:908 +#: common/models.py:912 msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/models.py:914 part/models.py:967 +#: common/models.py:918 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Komponent" -#: common/models.py:915 +#: common/models.py:919 msgid "Parts can be used as sub-components by default" msgstr "Deler kan bli brukt som underkomponenter som standard" -#: common/models.py:921 part/models.py:978 +#: common/models.py:925 part/models.py:978 msgid "Purchaseable" msgstr "Kjøpbar" -#: common/models.py:922 +#: common/models.py:926 msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/models.py:928 part/models.py:983 +#: common/models.py:932 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Salgbar" -#: common/models.py:929 +#: common/models.py:933 msgid "Parts are salable by default" msgstr "Deler er salgbare som standard" -#: common/models.py:935 part/models.py:973 +#: common/models.py:939 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Sporbar" -#: common/models.py:936 +#: common/models.py:940 msgid "Parts are trackable by default" msgstr "Deler er sporbare som standard" -#: common/models.py:942 part/models.py:993 +#: common/models.py:946 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:943 +#: common/models.py:947 msgid "Parts are virtual by default" msgstr "Deler er virtuelle som standard" -#: common/models.py:949 +#: common/models.py:953 msgid "Show Import in Views" msgstr "Vis import i visninger" -#: common/models.py:950 +#: common/models.py:954 msgid "Display the import wizard in some part views" msgstr "Vis importveiviseren i noen deler visninger" -#: common/models.py:956 +#: common/models.py:960 msgid "Show Price in Forms" msgstr "Vis pris i skjemaer" -#: common/models.py:957 +#: common/models.py:961 msgid "Display part price in some forms" msgstr "Vis delpris i noen skjemaer" -#: common/models.py:968 +#: common/models.py:972 msgid "Show Price in BOM" msgstr "" -#: common/models.py:969 +#: common/models.py:973 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:980 +#: common/models.py:984 msgid "Show Price History" msgstr "" -#: common/models.py:981 +#: common/models.py:985 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:987 +#: common/models.py:991 msgid "Show related parts" msgstr "" -#: common/models.py:988 +#: common/models.py:992 msgid "Display related parts for a part" msgstr "" -#: common/models.py:994 +#: common/models.py:998 msgid "Create initial stock" msgstr "" -#: common/models.py:995 +#: common/models.py:999 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1001 +#: common/models.py:1005 msgid "Internal Prices" msgstr "" -#: common/models.py:1002 +#: common/models.py:1006 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1008 +#: common/models.py:1012 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1009 +#: common/models.py:1013 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1015 +#: common/models.py:1019 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1016 +#: common/models.py:1020 msgid "Format to display the part name" msgstr "" -#: common/models.py:1023 +#: common/models.py:1027 msgid "Enable Reports" msgstr "" -#: common/models.py:1024 +#: common/models.py:1028 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1034 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1031 +#: common/models.py:1035 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1037 +#: common/models.py:1041 msgid "Page Size" msgstr "" -#: common/models.py:1038 +#: common/models.py:1042 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1048 +#: common/models.py:1052 msgid "Test Reports" msgstr "" -#: common/models.py:1049 +#: common/models.py:1053 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1055 +#: common/models.py:1059 msgid "Batch Code Template" msgstr "" -#: common/models.py:1056 +#: common/models.py:1060 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1061 +#: common/models.py:1065 msgid "Stock Expiry" msgstr "" -#: common/models.py:1062 +#: common/models.py:1066 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1068 +#: common/models.py:1072 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1069 +#: common/models.py:1073 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1075 +#: common/models.py:1079 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1076 +#: common/models.py:1080 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1078 +#: common/models.py:1082 msgid "days" msgstr "" -#: common/models.py:1083 +#: common/models.py:1087 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1084 +#: common/models.py:1088 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1090 +#: common/models.py:1094 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1091 +#: common/models.py:1095 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1097 +#: common/models.py:1101 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1098 +#: common/models.py:1102 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1103 +#: common/models.py:1107 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1104 +#: common/models.py:1108 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1108 +#: common/models.py:1112 msgid "Sales Order Reference Prefix" msgstr "Salgsorder referanse prefiks" -#: common/models.py:1109 +#: common/models.py:1113 msgid "Prefix value for sales order reference" msgstr "Prefiks verdi for salgsorder referanse" -#: common/models.py:1114 +#: common/models.py:1118 msgid "Purchase Order Reference Prefix" msgstr "Salgsorder referanse prefiks" -#: common/models.py:1115 +#: common/models.py:1119 msgid "Prefix value for purchase order reference" msgstr "Prefiks verdi for salgsorder referanse" -#: common/models.py:1121 +#: common/models.py:1125 msgid "Enable password forgot" msgstr "Aktiver passord glemt" -#: common/models.py:1122 +#: common/models.py:1126 msgid "Enable password forgot function on the login pages" msgstr "Ativer funskjon for glemt passord på innloggingssidene" -#: common/models.py:1128 +#: common/models.py:1132 msgid "Enable registration" msgstr "Aktiver registrering" -#: common/models.py:1129 +#: common/models.py:1133 msgid "Enable self-registration for users on the login pages" msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene" -#: common/models.py:1135 +#: common/models.py:1139 msgid "Enable SSO" msgstr "Aktiver SSO" -#: common/models.py:1136 +#: common/models.py:1140 msgid "Enable SSO on the login pages" msgstr "Aktiver SSO på innloggingssidene" -#: common/models.py:1142 +#: common/models.py:1146 msgid "Email required" msgstr "E-postadresse kreves" -#: common/models.py:1143 +#: common/models.py:1147 msgid "Require user to supply mail on signup" msgstr "Krevt at brukeren angi e-post ved registrering" -#: common/models.py:1149 +#: common/models.py:1153 msgid "Auto-fill SSO users" msgstr "Auto-utfyll SSO brukere" -#: common/models.py:1150 +#: common/models.py:1154 msgid "Automatically fill out user-details from SSO account-data" msgstr "Fyll automatisk ut brukeropplysninger fra SSO kontodata" -#: common/models.py:1156 +#: common/models.py:1160 msgid "Mail twice" msgstr "E-post to ganger" -#: common/models.py:1157 +#: common/models.py:1161 msgid "On signup ask users twice for their mail" msgstr "Ved registrering spør brukere to ganger for e-posten" -#: common/models.py:1163 +#: common/models.py:1167 msgid "Password twice" msgstr "Passord to ganger" -#: common/models.py:1164 +#: common/models.py:1168 msgid "On signup ask users twice for their password" msgstr "Ved registrerting, spør brukere to ganger for passord" -#: common/models.py:1170 +#: common/models.py:1174 msgid "Group on signup" msgstr "" -#: common/models.py:1171 +#: common/models.py:1175 msgid "Group to which new users are assigned on registration" msgstr "Gruppe for hvilke nye brukere som er tilknyttet registrering" -#: common/models.py:1177 +#: common/models.py:1181 msgid "Enforce MFA" msgstr "" -#: common/models.py:1178 +#: common/models.py:1182 msgid "Users must use multifactor security." msgstr "Brukere må bruke flerfaktorsikkerhet." -#: common/models.py:1184 +#: common/models.py:1188 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1185 +#: common/models.py:1189 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1193 +#: common/models.py:1197 msgid "Enable URL integration" msgstr "Aktiver URL integrering" -#: common/models.py:1194 +#: common/models.py:1198 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1201 +#: common/models.py:1205 msgid "Enable navigation integration" msgstr "Aktiver navigasjonsintegrering" -#: common/models.py:1202 +#: common/models.py:1206 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1209 +#: common/models.py:1213 msgid "Enable app integration" msgstr "Aktiver app integrasjon" -#: common/models.py:1210 +#: common/models.py:1214 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1217 +#: common/models.py:1221 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1218 +#: common/models.py:1222 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1225 +#: common/models.py:1229 msgid "Enable event integration" msgstr "" -#: common/models.py:1226 +#: common/models.py:1230 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1245 common/models.py:1539 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1272 +#: common/models.py:1276 msgid "Show subscribed parts" msgstr "Vis abbonerte deler" -#: common/models.py:1273 +#: common/models.py:1277 msgid "Show subscribed parts on the homepage" msgstr "Vis abbonerte deler på hjemmesiden" -#: common/models.py:1279 +#: common/models.py:1283 msgid "Show subscribed categories" msgstr "Vis abbonerte kategorier" -#: common/models.py:1280 +#: common/models.py:1284 msgid "Show subscribed part categories on the homepage" msgstr "Vis abbonerte delkatekorier på hjemmesiden" -#: common/models.py:1286 +#: common/models.py:1290 msgid "Show latest parts" msgstr "Vis nyeste deler" -#: common/models.py:1287 +#: common/models.py:1291 msgid "Show latest parts on the homepage" msgstr "Vis nyeste deler på hjemmesiden" -#: common/models.py:1293 +#: common/models.py:1297 msgid "Recent Part Count" msgstr "Antall nylig deler" -#: common/models.py:1294 +#: common/models.py:1298 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1300 +#: common/models.py:1304 msgid "Show unvalidated BOMs" msgstr "Vis uvaliderte BOMs" -#: common/models.py:1301 +#: common/models.py:1305 msgid "Show BOMs that await validation on the homepage" msgstr "Vis BOMs som venter validering på hjemmesiden" -#: common/models.py:1307 +#: common/models.py:1311 msgid "Show recent stock changes" msgstr "Vis nylige lagerendringer" -#: common/models.py:1308 +#: common/models.py:1312 msgid "Show recently changed stock items on the homepage" msgstr "Vis nylig endret lagervarer på hjemmesiden" -#: common/models.py:1314 +#: common/models.py:1318 msgid "Recent Stock Count" msgstr "Siste lagertelling" -#: common/models.py:1315 +#: common/models.py:1319 msgid "Number of recent stock items to display on index page" msgstr "Antall nylige lagervarer som skal vises på indeksside" -#: common/models.py:1321 +#: common/models.py:1325 msgid "Show low stock" msgstr "Vis lav lager" -#: common/models.py:1322 +#: common/models.py:1326 msgid "Show low stock items on the homepage" msgstr "Vis lav lagervarer på hjemmesiden" -#: common/models.py:1328 +#: common/models.py:1332 msgid "Show depleted stock" msgstr "Vis tom lagervarer" -#: common/models.py:1329 +#: common/models.py:1333 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1339 msgid "Show needed stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1340 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1346 msgid "Show expired stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1347 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1353 msgid "Show stale stock" msgstr "" -#: common/models.py:1350 +#: common/models.py:1354 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1360 msgid "Show pending builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1361 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1367 msgid "Show overdue builds" msgstr "" -#: common/models.py:1364 +#: common/models.py:1368 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1374 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1375 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1381 msgid "Show overdue POs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1382 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1388 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1389 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1391 +#: common/models.py:1395 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1392 +#: common/models.py:1396 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1397 +#: common/models.py:1401 msgid "Enable label printing" msgstr "" -#: common/models.py:1398 +#: common/models.py:1402 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1404 +#: common/models.py:1408 msgid "Inline label display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1409 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1415 msgid "Inline report display" msgstr "" -#: common/models.py:1412 +#: common/models.py:1416 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1418 +#: common/models.py:1422 msgid "Search Parts" msgstr "" -#: common/models.py:1419 +#: common/models.py:1423 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1429 msgid "Search Categories" msgstr "" -#: common/models.py:1426 +#: common/models.py:1430 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1436 msgid "Search Stock" msgstr "" -#: common/models.py:1433 +#: common/models.py:1437 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1443 msgid "Search Locations" msgstr "" -#: common/models.py:1440 +#: common/models.py:1444 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1450 msgid "Search Companies" msgstr "" -#: common/models.py:1447 +#: common/models.py:1451 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1457 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1458 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1464 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1461 +#: common/models.py:1465 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1471 msgid "Search Preview Results" msgstr "" -#: common/models.py:1468 +#: common/models.py:1472 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1478 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1475 +#: common/models.py:1479 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1481 +#: common/models.py:1485 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1482 +#: common/models.py:1486 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1492 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1489 +#: common/models.py:1493 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1495 +#: common/models.py:1499 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1496 +#: common/models.py:1500 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1502 +#: common/models.py:1506 msgid "Date Format" msgstr "" -#: common/models.py:1503 +#: common/models.py:1507 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1521 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1518 +#: common/models.py:1522 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1590 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1583 company/serializers.py:264 +#: common/models.py:1597 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1584 +#: common/models.py:1598 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1755 common/models.py:1892 msgid "Endpoint" msgstr "" -#: common/models.py:1742 +#: common/models.py:1756 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1751 +#: common/models.py:1765 msgid "Name for this webhook" msgstr "" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1770 part/models.py:988 plugin/models.py:49 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2449,67 +2401,67 @@ msgstr "" msgid "Active" msgstr "Aktiv" -#: common/models.py:1757 +#: common/models.py:1771 msgid "Is this webhook active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1785 msgid "Token" msgstr "Sjetong" -#: common/models.py:1772 +#: common/models.py:1786 msgid "Token for access" msgstr "Nøkkel for tilgang" -#: common/models.py:1779 +#: common/models.py:1793 msgid "Secret" msgstr "Hemmelig" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Shared secret for HMAC" msgstr "Delt hemmlighet for HMAC" -#: common/models.py:1847 +#: common/models.py:1859 msgid "Message ID" msgstr "Melding ID" -#: common/models.py:1848 +#: common/models.py:1860 msgid "Unique identifier for this message" msgstr "Unik Id for denne meldingen" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Host" msgstr "Vert" -#: common/models.py:1857 +#: common/models.py:1869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Header" msgstr "Tittel" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Header of this message" msgstr "Overskrift for denne meldingen" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Body" msgstr "Brødtekst" -#: common/models.py:1872 +#: common/models.py:1884 msgid "Body of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1893 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Worked on" msgstr "Arbeidet med" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Was the work on this message finished?" msgstr "Var arbeidet med denne meldingen ferdig?" @@ -2646,7 +2598,7 @@ msgstr "Valuta" msgid "Default currency used for this company" msgstr "Standardvaluta brukt for dette firmaet" -#: company/models.py:317 company/models.py:532 stock/models.py:612 +#: company/models.py:317 company/models.py:532 stock/models.py:619 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "" @@ -2673,7 +2625,7 @@ msgstr "" #: company/models.py:339 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" @@ -2703,7 +2655,7 @@ msgstr "" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2205 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2732,7 +2684,7 @@ msgstr "" #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2743,7 +2695,7 @@ msgid "Select supplier" msgstr "" #: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" @@ -2780,7 +2732,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: stock/models.py:643 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" @@ -2853,10 +2805,10 @@ msgid "Download image from URL" msgstr "Last ned bilde fra URL" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:662 +#: stock/models.py:663 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -3105,7 +3057,7 @@ msgid "Assigned Stock Items" msgstr "Tildelt lagervarer" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 +#: company/templates/company/supplier_part.html:24 stock/models.py:627 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3372,7 +3324,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" @@ -3429,7 +3381,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "" #: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" @@ -3491,7 +3443,7 @@ msgstr "" #: order/models.py:949 order/models.py:1031 order/models.py:1053 #: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "" @@ -3500,7 +3452,7 @@ msgstr "" #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" @@ -3511,7 +3463,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" @@ -3521,7 +3473,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3876,7 +3828,7 @@ msgstr "" #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3967,7 +3919,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "" @@ -4049,19 +4001,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1045 +#: part/api.py:1037 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1049 +#: part/api.py:1041 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1064 +#: part/api.py:1056 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 msgid "This field is required" msgstr "" @@ -5115,7 +5067,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5496,6 +5448,58 @@ msgstr "" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "Ingen handling spesifisert" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "Ingen samsvarende handling funnet" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 +msgid "Must provide barcode_data parameter" +msgstr "Må oppgi gyldig strekkode_data parameter" + +#: plugin/base/barcodes/api.py:129 +msgid "No match found for barcode data" +msgstr "Ingen treff funnet for strekkodedata" + +#: plugin/base/barcodes/api.py:131 +msgid "Match found for barcode data" +msgstr "Treff funnet for strekkodedata" + +#: plugin/base/barcodes/api.py:156 +msgid "Must provide stockitem parameter" +msgstr "Må oppgi lagervareparameter" + +#: plugin/base/barcodes/api.py:163 +msgid "No matching stock item found" +msgstr "Ingen samsvarende lagervare funnet" + +#: plugin/base/barcodes/api.py:193 +msgid "Barcode already matches Stock Item" +msgstr "Strekkoden samsvarer allerede med lagervare" + +#: plugin/base/barcodes/api.py:197 +msgid "Barcode already matches Stock Location" +msgstr "Strekkode samsvarer allerede med lagerplassering" + +#: plugin/base/barcodes/api.py:201 +msgid "Barcode already matches Part" +msgstr "Strekkode samsvarer allerede med delen" + +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 +msgid "Barcode hash already matches Stock Item" +msgstr "Strekkkoden hash samsvarer allerede med lagervare" + +#: plugin/base/barcodes/api.py:225 +msgid "Barcode associated with Stock Item" +msgstr "Strekkode tilknyttet lagervare" + +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5514,50 +5518,46 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:226 -msgid "Label printing failed" -msgstr "" - -#: plugin/integration.py:146 -msgid "No author found" -msgstr "" - -#: plugin/integration.py:160 -msgid "No date found" -msgstr "" - -#: plugin/models.py:27 +#: plugin/models.py:29 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:30 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:35 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:36 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:44 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:50 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:123 msgid "Plugin" msgstr "" -#: plugin/models.py:176 +#: plugin/models.py:197 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "" @@ -5724,12 +5724,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:667 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "" @@ -5738,19 +5738,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2193 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2199 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "" @@ -5785,12 +5785,12 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:94 stock/models.py:762 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:95 stock/models.py:763 msgid "Select Owner" msgstr "" @@ -5819,203 +5819,203 @@ msgstr "" msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:561 +#: stock/models.py:568 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:604 +#: stock/models.py:611 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:613 +#: stock/models.py:620 msgid "Base part" msgstr "" -#: stock/models.py:621 +#: stock/models.py:628 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:634 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:630 +#: stock/models.py:637 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:637 +#: stock/models.py:644 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:650 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "" -#: stock/models.py:646 +#: stock/models.py:653 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:662 +#: stock/models.py:669 msgid "Serial number for this item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:683 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:681 +#: stock/models.py:688 msgid "Stock Quantity" msgstr "" -#: stock/models.py:690 +#: stock/models.py:697 msgid "Source Build" msgstr "" -#: stock/models.py:692 +#: stock/models.py:699 msgid "Build for this stock item" msgstr "" -#: stock/models.py:703 +#: stock/models.py:710 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:706 +#: stock/models.py:713 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:712 +#: stock/models.py:719 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:725 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:719 +#: stock/models.py:726 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete on deplete" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:749 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:751 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:783 +#: stock/models.py:790 msgid "Converted to part" msgstr "" -#: stock/models.py:1303 +#: stock/models.py:1310 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1309 +#: stock/models.py:1316 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1315 +#: stock/models.py:1322 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1318 +#: stock/models.py:1325 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1328 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1335 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1399 +#: stock/models.py:1406 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1402 +#: stock/models.py:1409 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1405 +#: stock/models.py:1412 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1408 +#: stock/models.py:1415 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1411 +#: stock/models.py:1418 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1414 +#: stock/models.py:1421 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1428 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1429 +#: stock/models.py:1436 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1440 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1605 +#: stock/models.py:1612 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2106 +#: stock/models.py:2113 msgid "Entry notes" msgstr "" -#: stock/models.py:2163 +#: stock/models.py:2170 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2169 +#: stock/models.py:2176 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2187 +#: stock/models.py:2194 msgid "Test name" msgstr "" -#: stock/models.py:2193 +#: stock/models.py:2200 msgid "Test result" msgstr "" -#: stock/models.py:2199 +#: stock/models.py:2206 msgid "Test output value" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2213 msgid "Test result attachment" msgstr "" -#: stock/models.py:2212 +#: stock/models.py:2219 msgid "Test notes" msgstr "" @@ -8094,12 +8094,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "" @@ -8128,11 +8128,11 @@ msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "" @@ -8140,21 +8140,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "" @@ -8166,7 +8166,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8174,11 +8174,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "" @@ -8759,209 +8759,209 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index 6fa6a38cee..cfcad463de 100644 --- a/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/InvenTree/locale/pl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-10 04:16+0000\n" -"PO-Revision-Date: 2022-05-11 00:29\n" +"POT-Creation-Date: 2022-05-15 23:30+0000\n" +"PO-Revision-Date: 2022-05-16 01:10\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -17,18 +17,10 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:53 msgid "API endpoint not found" msgstr "Nie znaleziono punktu końcowego API" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "Nie określono działania" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "Nie znaleziono pasującej akcji" - #: InvenTree/fields.py:100 msgid "Enter date" msgstr "Wprowadź dane" @@ -128,7 +120,7 @@ msgstr "Brak pliku" msgid "Missing external link" msgstr "Brak zewnętrznego odnośnika" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2212 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "Załącznik" @@ -146,7 +138,7 @@ msgid "Link" msgstr "Łącze" #: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: stock/models.py:677 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" @@ -158,10 +150,10 @@ msgstr "Komentarz" msgid "File comment" msgstr "Komentarz pliku" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 +#: common/models.py:1547 common/models.py:1778 common/models.py:1779 +#: common/models.py:2006 common/models.py:2007 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -200,9 +192,9 @@ msgstr "Błąd zmiany nazwy pliku" msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 #: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: part/models.py:2555 plugin/models.py:43 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -230,8 +222,8 @@ msgstr "Nazwa" #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -440,7 +432,7 @@ msgid "Returned" msgstr "Zwrócone" #: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "Wysłane" @@ -616,46 +608,6 @@ msgstr "Hasła muszą być zgodne" msgid "System Information" msgstr "Informacja systemowa" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "Należy określić parametr barcode_data" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "Nie znaleziono wyników dla danych kodu kreskowego" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "Znaleziono wyniki dla danych kodu kreskowego" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "Nie znaleziono pasujących stanów magazynowych" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "" @@ -687,8 +639,8 @@ msgstr "Odwołanie do zamówienia wykonania" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 +#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 msgid "Reference" msgstr "Referencja" @@ -727,8 +679,8 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -750,7 +702,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "Lokalizacja źródła" @@ -791,7 +743,7 @@ msgid "Build status code" msgstr "Kod statusu budowania" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: stock/models.py:681 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "Kod partii" @@ -800,7 +752,7 @@ msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" #: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "Data utworzenia" @@ -834,7 +786,7 @@ msgstr "Użytkownik, który wydał to zamówienie" #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "Odpowiedzialny" @@ -845,7 +797,7 @@ msgstr "Użytkownik odpowiedzialny za to zamówienie budowy" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 +#: part/templates/part/part_base.html:346 stock/models.py:675 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "Link Zewnętrzny" @@ -858,14 +810,14 @@ msgstr "Link Zewnętrzny" #: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 +#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "Uwagi" @@ -928,9 +880,9 @@ msgstr "" #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" @@ -942,7 +894,7 @@ msgstr "Lokalizacja magazynowania przedmiotu" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 +#: build/templates/build/detail.html:34 common/models.py:1589 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 @@ -964,10 +916,10 @@ msgstr "Lokalizacja magazynowania przedmiotu" #: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -1015,7 +967,7 @@ msgstr "" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" @@ -1060,8 +1012,8 @@ msgstr "" #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 @@ -1076,8 +1028,8 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "" @@ -1278,9 +1230,9 @@ msgstr "" #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "Data docelowa" @@ -1314,7 +1266,7 @@ msgstr "Zakończone" #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "Zamówienie zakupu" @@ -1350,7 +1302,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "Przeznaczenie" @@ -1592,856 +1544,856 @@ msgstr "{name.title()} Plik" msgid "Select {name} file to upload" msgstr "Wybierz plik {name} do przesłania" -#: common/models.py:387 +#: common/models.py:401 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:389 +#: common/models.py:403 msgid "Settings value" msgstr "Ustawienia wartości" -#: common/models.py:430 +#: common/models.py:444 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:450 +#: common/models.py:464 msgid "Value must be a boolean value" msgstr "Wartość musi być wartością binarną" -#: common/models.py:461 +#: common/models.py:475 msgid "Value must be an integer value" msgstr "Wartość musi być liczbą całkowitą" -#: common/models.py:510 +#: common/models.py:524 msgid "Key string must be unique" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "No group" msgstr "Brak grupy" -#: common/models.py:784 +#: common/models.py:788 msgid "Restart required" msgstr "Wymagane ponowne uruchomienie" -#: common/models.py:785 +#: common/models.py:789 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:792 +#: common/models.py:796 msgid "Server Instance Name" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:798 +#: common/models.py:802 msgid "Use instance name" msgstr "Użyj nazwy instancji" -#: common/models.py:799 +#: common/models.py:803 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:805 +#: common/models.py:809 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:816 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "Nazwa firmy" -#: common/models.py:813 +#: common/models.py:817 msgid "Internal company name" msgstr "Wewnętrzna nazwa firmy" -#: common/models.py:818 +#: common/models.py:822 msgid "Base URL" msgstr "Bazowy URL" -#: common/models.py:819 +#: common/models.py:823 msgid "Base URL for server instance" msgstr "Bazowy adres URL dla instancji serwera" -#: common/models.py:825 +#: common/models.py:829 msgid "Default Currency" msgstr "Domyślna waluta" -#: common/models.py:826 +#: common/models.py:830 msgid "Default currency" msgstr "Domyślna waluta" -#: common/models.py:832 +#: common/models.py:836 msgid "Download from URL" msgstr "Pobierz z adresu URL" -#: common/models.py:833 +#: common/models.py:837 msgid "Allow download of remote images and files from external URL" msgstr "Zezwól na pobieranie zewnętrznych obrazów i plików z zewnętrznego URL" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Obsługa kodu kreskowego" -#: common/models.py:840 +#: common/models.py:844 msgid "Enable barcode scanner support" msgstr "Włącz obsługę skanera kodów" -#: common/models.py:846 +#: common/models.py:850 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:851 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:857 msgid "IPN Regex" msgstr "Wyrażenie regularne IPN" -#: common/models.py:854 +#: common/models.py:858 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:858 +#: common/models.py:862 msgid "Allow Duplicate IPN" msgstr "Zezwól na powtarzający się IPN" -#: common/models.py:859 +#: common/models.py:863 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:865 +#: common/models.py:869 msgid "Allow Editing IPN" msgstr "Zezwól na edycję IPN" -#: common/models.py:866 +#: common/models.py:870 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:872 +#: common/models.py:876 msgid "Copy Part BOM Data" msgstr "Skopiuj BOM komponentu" -#: common/models.py:873 +#: common/models.py:877 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:883 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:880 +#: common/models.py:884 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:886 +#: common/models.py:890 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:887 +#: common/models.py:891 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:893 +#: common/models.py:897 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:894 +#: common/models.py:898 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:904 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Szablon" -#: common/models.py:901 +#: common/models.py:905 msgid "Parts are templates by default" msgstr "" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Złożenie" -#: common/models.py:908 +#: common/models.py:912 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:914 part/models.py:967 +#: common/models.py:918 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Komponent" -#: common/models.py:915 +#: common/models.py:919 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:921 part/models.py:978 +#: common/models.py:925 part/models.py:978 msgid "Purchaseable" msgstr "Możliwość zakupu" -#: common/models.py:922 +#: common/models.py:926 msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/models.py:928 part/models.py:983 +#: common/models.py:932 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Możliwość sprzedaży" -#: common/models.py:929 +#: common/models.py:933 msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/models.py:935 part/models.py:973 +#: common/models.py:939 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Możliwość śledzenia" -#: common/models.py:936 +#: common/models.py:940 msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/models.py:942 part/models.py:993 +#: common/models.py:946 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Wirtualny" -#: common/models.py:943 +#: common/models.py:947 msgid "Parts are virtual by default" msgstr "Części są domyślnie wirtualne" -#: common/models.py:949 +#: common/models.py:953 msgid "Show Import in Views" msgstr "" -#: common/models.py:950 +#: common/models.py:954 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:956 +#: common/models.py:960 msgid "Show Price in Forms" msgstr "" -#: common/models.py:957 +#: common/models.py:961 msgid "Display part price in some forms" msgstr "" -#: common/models.py:968 +#: common/models.py:972 msgid "Show Price in BOM" msgstr "Pokaż cenę w BOM" -#: common/models.py:969 +#: common/models.py:973 msgid "Include pricing information in BOM tables" msgstr "Dołącz informacje cenowe w tabelach BOM" -#: common/models.py:980 +#: common/models.py:984 msgid "Show Price History" msgstr "Pokaż historię cen" -#: common/models.py:981 +#: common/models.py:985 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:987 +#: common/models.py:991 msgid "Show related parts" msgstr "" -#: common/models.py:988 +#: common/models.py:992 msgid "Display related parts for a part" msgstr "" -#: common/models.py:994 +#: common/models.py:998 msgid "Create initial stock" msgstr "" -#: common/models.py:995 +#: common/models.py:999 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1001 +#: common/models.py:1005 msgid "Internal Prices" msgstr "Ceny wewnętrzne" -#: common/models.py:1002 +#: common/models.py:1006 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1008 +#: common/models.py:1012 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1009 +#: common/models.py:1013 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1015 +#: common/models.py:1019 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1016 +#: common/models.py:1020 msgid "Format to display the part name" msgstr "" -#: common/models.py:1023 +#: common/models.py:1027 msgid "Enable Reports" msgstr "Włącz raporty" -#: common/models.py:1024 +#: common/models.py:1028 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1034 templates/stats.html:25 msgid "Debug Mode" msgstr "Tryb Debugowania" -#: common/models.py:1031 +#: common/models.py:1035 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1037 +#: common/models.py:1041 msgid "Page Size" msgstr "Rozmiar strony" -#: common/models.py:1038 +#: common/models.py:1042 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1048 +#: common/models.py:1052 msgid "Test Reports" msgstr "Raporty testów" -#: common/models.py:1049 +#: common/models.py:1053 msgid "Enable generation of test reports" msgstr "Włącz generowanie raportów testów" -#: common/models.py:1055 +#: common/models.py:1059 msgid "Batch Code Template" msgstr "" -#: common/models.py:1056 +#: common/models.py:1060 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1061 +#: common/models.py:1065 msgid "Stock Expiry" msgstr "" -#: common/models.py:1062 +#: common/models.py:1066 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1068 +#: common/models.py:1072 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1069 +#: common/models.py:1073 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1075 +#: common/models.py:1079 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1076 +#: common/models.py:1080 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1078 +#: common/models.py:1082 msgid "days" msgstr "dni" -#: common/models.py:1083 +#: common/models.py:1087 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1084 +#: common/models.py:1088 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1090 +#: common/models.py:1094 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1091 +#: common/models.py:1095 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1097 +#: common/models.py:1101 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1098 +#: common/models.py:1102 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1103 +#: common/models.py:1107 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1104 +#: common/models.py:1108 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1108 +#: common/models.py:1112 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1109 +#: common/models.py:1113 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1118 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1115 +#: common/models.py:1119 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1121 +#: common/models.py:1125 msgid "Enable password forgot" msgstr "Włącz opcję zapomnianego hasła" -#: common/models.py:1122 +#: common/models.py:1126 msgid "Enable password forgot function on the login pages" msgstr "Włącz funkcję zapomnianego hasła na stronach logowania" -#: common/models.py:1128 +#: common/models.py:1132 msgid "Enable registration" msgstr "Włącz rejestrację" -#: common/models.py:1129 +#: common/models.py:1133 msgid "Enable self-registration for users on the login pages" msgstr "Włącz samodzielną rejestrację dla użytkowników na stronach logowania" -#: common/models.py:1135 +#: common/models.py:1139 msgid "Enable SSO" msgstr "Włącz SSO" -#: common/models.py:1136 +#: common/models.py:1140 msgid "Enable SSO on the login pages" msgstr "Włącz SSO na stronach logowania" -#: common/models.py:1142 +#: common/models.py:1146 msgid "Email required" msgstr "Adres e-mail jest wymagany" -#: common/models.py:1143 +#: common/models.py:1147 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1149 +#: common/models.py:1153 msgid "Auto-fill SSO users" msgstr "Autouzupełnianie użytkowników SSO" -#: common/models.py:1150 +#: common/models.py:1154 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO" -#: common/models.py:1156 +#: common/models.py:1160 msgid "Mail twice" msgstr "E-mail dwa razy" -#: common/models.py:1157 +#: common/models.py:1161 msgid "On signup ask users twice for their mail" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich adres e-mail" -#: common/models.py:1163 +#: common/models.py:1167 msgid "Password twice" msgstr "Hasło dwukrotnie" -#: common/models.py:1164 +#: common/models.py:1168 msgid "On signup ask users twice for their password" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło" -#: common/models.py:1170 +#: common/models.py:1174 msgid "Group on signup" msgstr "Grupuj przy rejestracji" -#: common/models.py:1171 +#: common/models.py:1175 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1177 +#: common/models.py:1181 msgid "Enforce MFA" msgstr "Wymuś MFA" -#: common/models.py:1178 +#: common/models.py:1182 msgid "Users must use multifactor security." msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych." -#: common/models.py:1184 +#: common/models.py:1188 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1185 +#: common/models.py:1189 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1193 +#: common/models.py:1197 msgid "Enable URL integration" msgstr "Włącz integrację URL" -#: common/models.py:1194 +#: common/models.py:1198 msgid "Enable plugins to add URL routes" msgstr "Włącz wtyczki, aby dodać ścieżki URL" -#: common/models.py:1201 +#: common/models.py:1205 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1202 +#: common/models.py:1206 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1209 +#: common/models.py:1213 msgid "Enable app integration" msgstr "Włącz integrację z aplikacją" -#: common/models.py:1210 +#: common/models.py:1214 msgid "Enable plugins to add apps" msgstr "Włącz wtyczki, aby dodać aplikacje" -#: common/models.py:1217 +#: common/models.py:1221 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1218 +#: common/models.py:1222 msgid "Enable plugins to run scheduled tasks" msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania" -#: common/models.py:1225 +#: common/models.py:1229 msgid "Enable event integration" msgstr "" -#: common/models.py:1226 +#: common/models.py:1230 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1245 common/models.py:1539 msgid "Settings key (must be unique - case insensitive" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter" -#: common/models.py:1272 +#: common/models.py:1276 msgid "Show subscribed parts" msgstr "Pokaż obserwowane części" -#: common/models.py:1273 +#: common/models.py:1277 msgid "Show subscribed parts on the homepage" msgstr "Pokaż obserwowane części na stronie głównej" -#: common/models.py:1279 +#: common/models.py:1283 msgid "Show subscribed categories" msgstr "Pokaż obserwowane kategorie" -#: common/models.py:1280 +#: common/models.py:1284 msgid "Show subscribed part categories on the homepage" msgstr "Pokaż obserwowane kategorie części na stronie głównej" -#: common/models.py:1286 +#: common/models.py:1290 msgid "Show latest parts" msgstr "Pokaż najnowsze części" -#: common/models.py:1287 +#: common/models.py:1291 msgid "Show latest parts on the homepage" msgstr "Pokaż najnowsze części na stronie głównej" -#: common/models.py:1293 +#: common/models.py:1297 msgid "Recent Part Count" msgstr "" -#: common/models.py:1294 +#: common/models.py:1298 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1300 +#: common/models.py:1304 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1301 +#: common/models.py:1305 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1311 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1308 +#: common/models.py:1312 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1314 +#: common/models.py:1318 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1315 +#: common/models.py:1319 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1321 +#: common/models.py:1325 msgid "Show low stock" msgstr "Pokaż niski stan magazynowy" -#: common/models.py:1322 +#: common/models.py:1326 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1332 msgid "Show depleted stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1333 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1339 msgid "Show needed stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1340 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1346 msgid "Show expired stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1347 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1353 msgid "Show stale stock" msgstr "" -#: common/models.py:1350 +#: common/models.py:1354 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1360 msgid "Show pending builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1361 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1367 msgid "Show overdue builds" msgstr "" -#: common/models.py:1364 +#: common/models.py:1368 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1374 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1375 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1381 msgid "Show overdue POs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1382 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1388 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1389 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1391 +#: common/models.py:1395 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1392 +#: common/models.py:1396 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1397 +#: common/models.py:1401 msgid "Enable label printing" msgstr "" -#: common/models.py:1398 +#: common/models.py:1402 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1404 +#: common/models.py:1408 msgid "Inline label display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1409 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1415 msgid "Inline report display" msgstr "" -#: common/models.py:1412 +#: common/models.py:1416 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1418 +#: common/models.py:1422 msgid "Search Parts" msgstr "" -#: common/models.py:1419 +#: common/models.py:1423 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1429 msgid "Search Categories" msgstr "" -#: common/models.py:1426 +#: common/models.py:1430 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1436 msgid "Search Stock" msgstr "" -#: common/models.py:1433 +#: common/models.py:1437 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1443 msgid "Search Locations" msgstr "" -#: common/models.py:1440 +#: common/models.py:1444 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1450 msgid "Search Companies" msgstr "" -#: common/models.py:1447 +#: common/models.py:1451 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1457 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1458 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1464 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1461 +#: common/models.py:1465 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1471 msgid "Search Preview Results" msgstr "" -#: common/models.py:1468 +#: common/models.py:1472 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1478 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1475 +#: common/models.py:1479 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1481 +#: common/models.py:1485 msgid "Show Quantity in Forms" msgstr "Pokaż ilość w formularzach" -#: common/models.py:1482 +#: common/models.py:1486 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1492 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1489 +#: common/models.py:1493 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1495 +#: common/models.py:1499 msgid "Fixed Navbar" msgstr "Stały pasek nawigacyjny" -#: common/models.py:1496 +#: common/models.py:1500 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1502 +#: common/models.py:1506 msgid "Date Format" msgstr "Format daty" -#: common/models.py:1503 +#: common/models.py:1507 msgid "Preferred format for displaying dates" msgstr "Preferowany format wyświetlania dat" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1521 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "Planowanie komponentów" -#: common/models.py:1518 +#: common/models.py:1522 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1590 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1583 company/serializers.py:264 +#: common/models.py:1597 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "Cena" -#: common/models.py:1584 +#: common/models.py:1598 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1755 common/models.py:1892 msgid "Endpoint" msgstr "Punkt końcowy" -#: common/models.py:1742 +#: common/models.py:1756 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1751 +#: common/models.py:1765 msgid "Name for this webhook" msgstr "" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1770 part/models.py:988 plugin/models.py:49 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2449,67 +2401,67 @@ msgstr "" msgid "Active" msgstr "Aktywny" -#: common/models.py:1757 +#: common/models.py:1771 msgid "Is this webhook active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1785 msgid "Token" msgstr "" -#: common/models.py:1772 +#: common/models.py:1786 msgid "Token for access" msgstr "" -#: common/models.py:1779 +#: common/models.py:1793 msgid "Secret" msgstr "Sekret" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Shared secret for HMAC" msgstr "Współdzielony sekret dla HMAC" -#: common/models.py:1847 +#: common/models.py:1859 msgid "Message ID" msgstr "Id wiadomości" -#: common/models.py:1848 +#: common/models.py:1860 msgid "Unique identifier for this message" msgstr "Unikalny identyfikator dla tej wiadomości" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Host" msgstr "" -#: common/models.py:1857 +#: common/models.py:1869 msgid "Host from which this message was received" msgstr "Host, od którego otrzymano tę wiadomość" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Header" msgstr "Nagłówek" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Header of this message" msgstr "Nagłówek tej wiadomości" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Body" msgstr "Zawartość" -#: common/models.py:1872 +#: common/models.py:1884 msgid "Body of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1893 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Worked on" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Was the work on this message finished?" msgstr "" @@ -2646,7 +2598,7 @@ msgstr "Waluta" msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:612 +#: company/models.py:317 company/models.py:532 stock/models.py:619 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "Część bazowa" @@ -2673,7 +2625,7 @@ msgstr "Wybierz producenta" #: company/models.py:339 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" @@ -2703,7 +2655,7 @@ msgstr "" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2205 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "Wartość" @@ -2732,7 +2684,7 @@ msgstr "" #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2743,7 +2695,7 @@ msgid "Select supplier" msgstr "Wybierz dostawcę" #: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" @@ -2780,7 +2732,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: stock/models.py:643 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "Opakowanie" @@ -2853,10 +2805,10 @@ msgid "Download image from URL" msgstr "Pobierz obraz z adresu URL" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:662 +#: stock/models.py:663 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -3105,7 +3057,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 +#: company/templates/company/supplier_part.html:24 stock/models.py:627 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3372,7 +3324,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" @@ -3429,7 +3381,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "" #: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "Data wysyłki" @@ -3491,7 +3443,7 @@ msgstr "" #: order/models.py:949 order/models.py:1031 order/models.py:1053 #: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "Zamówienie" @@ -3500,7 +3452,7 @@ msgstr "Zamówienie" #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" @@ -3511,7 +3463,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" @@ -3521,7 +3473,7 @@ msgstr "Odebrane" msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3876,7 +3828,7 @@ msgstr "Wybierz dostawcę części" #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3967,7 +3919,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "" @@ -4049,19 +4001,19 @@ msgstr "" msgid "This option must be selected" msgstr "Ta opcja musi być zaznaczona" -#: part/api.py:1045 +#: part/api.py:1037 msgid "Must be greater than zero" msgstr "Musi być większe niż zero" -#: part/api.py:1049 +#: part/api.py:1041 msgid "Must be a valid quantity" msgstr "Musi być prawidłową ilością" -#: part/api.py:1064 +#: part/api.py:1056 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 msgid "This field is required" msgstr "To pole jest wymagane" @@ -5115,7 +5067,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "Na stanie" @@ -5498,6 +5450,58 @@ msgstr "" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "Nie określono działania" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "Nie znaleziono pasującej akcji" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 +msgid "Must provide barcode_data parameter" +msgstr "Należy określić parametr barcode_data" + +#: plugin/base/barcodes/api.py:129 +msgid "No match found for barcode data" +msgstr "Nie znaleziono wyników dla danych kodu kreskowego" + +#: plugin/base/barcodes/api.py:131 +msgid "Match found for barcode data" +msgstr "Znaleziono wyniki dla danych kodu kreskowego" + +#: plugin/base/barcodes/api.py:156 +msgid "Must provide stockitem parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:163 +msgid "No matching stock item found" +msgstr "Nie znaleziono pasujących stanów magazynowych" + +#: plugin/base/barcodes/api.py:193 +msgid "Barcode already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:197 +msgid "Barcode already matches Stock Location" +msgstr "" + +#: plugin/base/barcodes/api.py:201 +msgid "Barcode already matches Part" +msgstr "" + +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 +msgid "Barcode hash already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:225 +msgid "Barcode associated with Stock Item" +msgstr "" + +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5516,50 +5520,46 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:226 -msgid "Label printing failed" -msgstr "" - -#: plugin/integration.py:146 -msgid "No author found" -msgstr "" - -#: plugin/integration.py:160 -msgid "No date found" -msgstr "" - -#: plugin/models.py:27 +#: plugin/models.py:29 msgid "Plugin Configuration" msgstr "Konfiguracja wtyczki" -#: plugin/models.py:28 +#: plugin/models.py:30 msgid "Plugin Configurations" msgstr "Konfiguracja wtyczek" -#: plugin/models.py:33 +#: plugin/models.py:35 msgid "Key" msgstr "Klucz" -#: plugin/models.py:34 +#: plugin/models.py:36 msgid "Key of plugin" msgstr "Klucz wtyczki" -#: plugin/models.py:42 +#: plugin/models.py:44 msgid "PluginName of the plugin" msgstr "Nazwa wtyczki" -#: plugin/models.py:48 +#: plugin/models.py:50 msgid "Is the plugin active" msgstr "Czy wtyczka jest aktywna" -#: plugin/models.py:149 +#: plugin/models.py:123 msgid "Plugin" msgstr "Wtyczka" -#: plugin/models.py:176 +#: plugin/models.py:197 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "Włącz PO" @@ -5726,12 +5726,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:667 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "Numer Seryjny" @@ -5740,19 +5740,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2193 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2199 msgid "Result" msgstr "Wynik" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "Data" @@ -5787,12 +5787,12 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:94 stock/models.py:762 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "Właściciel" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:95 stock/models.py:763 msgid "Select Owner" msgstr "Wybierz właściciela" @@ -5821,203 +5821,203 @@ msgstr "" msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:561 +#: stock/models.py:568 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:604 +#: stock/models.py:611 msgid "Parent Stock Item" msgstr "Nadrzędny towar" -#: stock/models.py:613 +#: stock/models.py:620 msgid "Base part" msgstr "Część podstawowa" -#: stock/models.py:621 +#: stock/models.py:628 msgid "Select a matching supplier part for this stock item" msgstr "Wybierz pasującą część dostawcy dla tego towaru" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:634 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:630 +#: stock/models.py:637 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:637 +#: stock/models.py:644 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:650 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "Zainstalowane w" -#: stock/models.py:646 +#: stock/models.py:653 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:662 +#: stock/models.py:669 msgid "Serial number for this item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:683 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:681 +#: stock/models.py:688 msgid "Stock Quantity" msgstr "Ilość w magazynie" -#: stock/models.py:690 +#: stock/models.py:697 msgid "Source Build" msgstr "" -#: stock/models.py:692 +#: stock/models.py:699 msgid "Build for this stock item" msgstr "" -#: stock/models.py:703 +#: stock/models.py:710 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:706 +#: stock/models.py:713 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:712 +#: stock/models.py:719 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:725 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "Data ważności" -#: stock/models.py:719 +#: stock/models.py:726 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete on deplete" msgstr "Usuń po wyczerpaniu" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:749 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:751 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:783 +#: stock/models.py:790 msgid "Converted to part" msgstr "" -#: stock/models.py:1303 +#: stock/models.py:1310 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1309 +#: stock/models.py:1316 msgid "Quantity must be integer" msgstr "Ilość musi być liczbą całkowitą" -#: stock/models.py:1315 +#: stock/models.py:1322 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "Ilość nie może przekraczać dostępnej ilości towaru ({n})" -#: stock/models.py:1318 +#: stock/models.py:1325 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1328 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1335 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1399 +#: stock/models.py:1406 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1402 +#: stock/models.py:1409 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1405 +#: stock/models.py:1412 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1408 +#: stock/models.py:1415 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1411 +#: stock/models.py:1418 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1414 +#: stock/models.py:1421 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1428 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1429 +#: stock/models.py:1436 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1440 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1605 +#: stock/models.py:1612 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2106 +#: stock/models.py:2113 msgid "Entry notes" msgstr "Notatki do wpisu" -#: stock/models.py:2163 +#: stock/models.py:2170 msgid "Value must be provided for this test" msgstr "Należy podać wartość dla tego testu" -#: stock/models.py:2169 +#: stock/models.py:2176 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2187 +#: stock/models.py:2194 msgid "Test name" msgstr "Nazwa testu" -#: stock/models.py:2193 +#: stock/models.py:2200 msgid "Test result" msgstr "Wynik testu" -#: stock/models.py:2199 +#: stock/models.py:2206 msgid "Test output value" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2213 msgid "Test result attachment" msgstr "" -#: stock/models.py:2212 +#: stock/models.py:2219 msgid "Test notes" msgstr "" @@ -8099,12 +8099,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "" @@ -8133,11 +8133,11 @@ msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "Przydzielono" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "" @@ -8145,21 +8145,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "Wybierz części" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "" @@ -8171,7 +8171,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8179,11 +8179,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "" @@ -8764,209 +8764,209 @@ msgstr "Potwierdź odbiór elementów" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "Przedmioty" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "Razem" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "Cena jednostkowa" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "Cena całkowita" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "Nie znaleziono zamówień sprzedaży" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "Nieprawidłowy klient" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "Edytuj wysyłkę" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "Kompletna wysyłka" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "Usuń wysyłkę" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "Edytuj wysyłkę" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "Usuń wysyłkę" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "Nie odnaleziono pasujących przesyłek" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "Numer referencyjny przesyłki" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "Nie wysłano" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "Śledzenie" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "Potwierdź przydział zapasów" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "Cena zakupu" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "Oblicz cenę" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "Zaktualizuj cenę jednostkową" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index 4ccc203086..9e55605ccf 100644 --- a/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/InvenTree/locale/pt/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-10 04:16+0000\n" -"PO-Revision-Date: 2022-05-11 00:28\n" +"POT-Creation-Date: 2022-05-15 23:30+0000\n" +"PO-Revision-Date: 2022-05-16 01:10\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -17,18 +17,10 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:53 msgid "API endpoint not found" msgstr "API endpoint não encontrado" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "Nenhuma ação especificada" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "Nenhuma ação correspondente encontrada" - #: InvenTree/fields.py:100 msgid "Enter date" msgstr "Insira uma Data" @@ -128,7 +120,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2212 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "" @@ -146,7 +138,7 @@ msgid "Link" msgstr "" #: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: stock/models.py:677 msgid "Link to external URL" msgstr "" @@ -158,10 +150,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 +#: common/models.py:1547 common/models.py:1778 common/models.py:1779 +#: common/models.py:2006 common/models.py:2007 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -200,9 +192,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 #: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: part/models.py:2555 plugin/models.py:43 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -230,8 +222,8 @@ msgstr "" #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -440,7 +432,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "" @@ -616,46 +608,6 @@ msgstr "" msgid "System Information" msgstr "" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "" @@ -687,8 +639,8 @@ msgstr "" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 +#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 msgid "Reference" msgstr "" @@ -727,8 +679,8 @@ msgstr "" #: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -750,7 +702,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" @@ -791,7 +743,7 @@ msgid "Build status code" msgstr "" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: stock/models.py:681 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" @@ -800,7 +752,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" @@ -834,7 +786,7 @@ msgstr "" #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" @@ -845,7 +797,7 @@ msgstr "" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 +#: part/templates/part/part_base.html:346 stock/models.py:675 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "" @@ -858,14 +810,14 @@ msgstr "" #: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 +#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "" @@ -928,9 +880,9 @@ msgstr "" #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" @@ -942,7 +894,7 @@ msgstr "" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 +#: build/templates/build/detail.html:34 common/models.py:1589 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 @@ -964,10 +916,10 @@ msgstr "" #: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -1015,7 +967,7 @@ msgstr "" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "" @@ -1060,8 +1012,8 @@ msgstr "" #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 @@ -1076,8 +1028,8 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "" @@ -1278,9 +1230,9 @@ msgstr "" #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "" @@ -1314,7 +1266,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1350,7 +1302,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1592,856 +1544,856 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:387 +#: common/models.py:401 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:389 +#: common/models.py:403 msgid "Settings value" msgstr "" -#: common/models.py:430 +#: common/models.py:444 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:450 +#: common/models.py:464 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:461 +#: common/models.py:475 msgid "Value must be an integer value" msgstr "" -#: common/models.py:510 +#: common/models.py:524 msgid "Key string must be unique" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "No group" msgstr "" -#: common/models.py:784 +#: common/models.py:788 msgid "Restart required" msgstr "" -#: common/models.py:785 +#: common/models.py:789 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:792 +#: common/models.py:796 msgid "Server Instance Name" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:798 +#: common/models.py:802 msgid "Use instance name" msgstr "" -#: common/models.py:799 +#: common/models.py:803 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:805 +#: common/models.py:809 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:816 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Internal company name" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Base URL" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Base URL for server instance" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Default Currency" msgstr "" -#: common/models.py:826 +#: common/models.py:830 msgid "Default currency" msgstr "" -#: common/models.py:832 +#: common/models.py:836 msgid "Download from URL" msgstr "" -#: common/models.py:833 +#: common/models.py:837 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:840 +#: common/models.py:844 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:846 +#: common/models.py:850 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:851 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:857 msgid "IPN Regex" msgstr "" -#: common/models.py:854 +#: common/models.py:858 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:858 +#: common/models.py:862 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:859 +#: common/models.py:863 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:865 +#: common/models.py:869 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:866 +#: common/models.py:870 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:872 +#: common/models.py:876 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:873 +#: common/models.py:877 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:883 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:880 +#: common/models.py:884 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:886 +#: common/models.py:890 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:887 +#: common/models.py:891 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:893 +#: common/models.py:897 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:894 +#: common/models.py:898 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:904 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:901 +#: common/models.py:905 msgid "Parts are templates by default" msgstr "" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:908 +#: common/models.py:912 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:914 part/models.py:967 +#: common/models.py:918 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:915 +#: common/models.py:919 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:921 part/models.py:978 +#: common/models.py:925 part/models.py:978 msgid "Purchaseable" msgstr "" -#: common/models.py:922 +#: common/models.py:926 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:928 part/models.py:983 +#: common/models.py:932 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:929 +#: common/models.py:933 msgid "Parts are salable by default" msgstr "" -#: common/models.py:935 part/models.py:973 +#: common/models.py:939 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:936 +#: common/models.py:940 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:942 part/models.py:993 +#: common/models.py:946 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:943 +#: common/models.py:947 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:949 +#: common/models.py:953 msgid "Show Import in Views" msgstr "" -#: common/models.py:950 +#: common/models.py:954 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:956 +#: common/models.py:960 msgid "Show Price in Forms" msgstr "" -#: common/models.py:957 +#: common/models.py:961 msgid "Display part price in some forms" msgstr "" -#: common/models.py:968 +#: common/models.py:972 msgid "Show Price in BOM" msgstr "" -#: common/models.py:969 +#: common/models.py:973 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:980 +#: common/models.py:984 msgid "Show Price History" msgstr "" -#: common/models.py:981 +#: common/models.py:985 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:987 +#: common/models.py:991 msgid "Show related parts" msgstr "" -#: common/models.py:988 +#: common/models.py:992 msgid "Display related parts for a part" msgstr "" -#: common/models.py:994 +#: common/models.py:998 msgid "Create initial stock" msgstr "" -#: common/models.py:995 +#: common/models.py:999 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1001 +#: common/models.py:1005 msgid "Internal Prices" msgstr "" -#: common/models.py:1002 +#: common/models.py:1006 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1008 +#: common/models.py:1012 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1009 +#: common/models.py:1013 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1015 +#: common/models.py:1019 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1016 +#: common/models.py:1020 msgid "Format to display the part name" msgstr "" -#: common/models.py:1023 +#: common/models.py:1027 msgid "Enable Reports" msgstr "" -#: common/models.py:1024 +#: common/models.py:1028 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1034 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1031 +#: common/models.py:1035 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1037 +#: common/models.py:1041 msgid "Page Size" msgstr "" -#: common/models.py:1038 +#: common/models.py:1042 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1048 +#: common/models.py:1052 msgid "Test Reports" msgstr "" -#: common/models.py:1049 +#: common/models.py:1053 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1055 +#: common/models.py:1059 msgid "Batch Code Template" msgstr "" -#: common/models.py:1056 +#: common/models.py:1060 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1061 +#: common/models.py:1065 msgid "Stock Expiry" msgstr "" -#: common/models.py:1062 +#: common/models.py:1066 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1068 +#: common/models.py:1072 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1069 +#: common/models.py:1073 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1075 +#: common/models.py:1079 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1076 +#: common/models.py:1080 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1078 +#: common/models.py:1082 msgid "days" msgstr "" -#: common/models.py:1083 +#: common/models.py:1087 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1084 +#: common/models.py:1088 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1090 +#: common/models.py:1094 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1091 +#: common/models.py:1095 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1097 +#: common/models.py:1101 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1098 +#: common/models.py:1102 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1103 +#: common/models.py:1107 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1104 +#: common/models.py:1108 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1108 +#: common/models.py:1112 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1109 +#: common/models.py:1113 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1118 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1115 +#: common/models.py:1119 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1121 +#: common/models.py:1125 msgid "Enable password forgot" msgstr "" -#: common/models.py:1122 +#: common/models.py:1126 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1128 +#: common/models.py:1132 msgid "Enable registration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1133 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1135 +#: common/models.py:1139 msgid "Enable SSO" msgstr "" -#: common/models.py:1136 +#: common/models.py:1140 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1142 +#: common/models.py:1146 msgid "Email required" msgstr "" -#: common/models.py:1143 +#: common/models.py:1147 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1149 +#: common/models.py:1153 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1150 +#: common/models.py:1154 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1156 +#: common/models.py:1160 msgid "Mail twice" msgstr "" -#: common/models.py:1157 +#: common/models.py:1161 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1163 +#: common/models.py:1167 msgid "Password twice" msgstr "" -#: common/models.py:1164 +#: common/models.py:1168 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1170 +#: common/models.py:1174 msgid "Group on signup" msgstr "" -#: common/models.py:1171 +#: common/models.py:1175 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1177 +#: common/models.py:1181 msgid "Enforce MFA" msgstr "" -#: common/models.py:1178 +#: common/models.py:1182 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1184 +#: common/models.py:1188 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1185 +#: common/models.py:1189 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1193 +#: common/models.py:1197 msgid "Enable URL integration" msgstr "" -#: common/models.py:1194 +#: common/models.py:1198 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1201 +#: common/models.py:1205 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1202 +#: common/models.py:1206 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1209 +#: common/models.py:1213 msgid "Enable app integration" msgstr "" -#: common/models.py:1210 +#: common/models.py:1214 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1217 +#: common/models.py:1221 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1218 +#: common/models.py:1222 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1225 +#: common/models.py:1229 msgid "Enable event integration" msgstr "" -#: common/models.py:1226 +#: common/models.py:1230 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1245 common/models.py:1539 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1272 +#: common/models.py:1276 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1273 +#: common/models.py:1277 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1279 +#: common/models.py:1283 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1280 +#: common/models.py:1284 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1286 +#: common/models.py:1290 msgid "Show latest parts" msgstr "" -#: common/models.py:1287 +#: common/models.py:1291 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1293 +#: common/models.py:1297 msgid "Recent Part Count" msgstr "" -#: common/models.py:1294 +#: common/models.py:1298 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1300 +#: common/models.py:1304 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1301 +#: common/models.py:1305 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1311 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1308 +#: common/models.py:1312 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1314 +#: common/models.py:1318 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1315 +#: common/models.py:1319 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1321 +#: common/models.py:1325 msgid "Show low stock" msgstr "" -#: common/models.py:1322 +#: common/models.py:1326 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1332 msgid "Show depleted stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1333 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1339 msgid "Show needed stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1340 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1346 msgid "Show expired stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1347 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1353 msgid "Show stale stock" msgstr "" -#: common/models.py:1350 +#: common/models.py:1354 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1360 msgid "Show pending builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1361 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1367 msgid "Show overdue builds" msgstr "" -#: common/models.py:1364 +#: common/models.py:1368 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1374 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1375 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1381 msgid "Show overdue POs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1382 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1388 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1389 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1391 +#: common/models.py:1395 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1392 +#: common/models.py:1396 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1397 +#: common/models.py:1401 msgid "Enable label printing" msgstr "" -#: common/models.py:1398 +#: common/models.py:1402 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1404 +#: common/models.py:1408 msgid "Inline label display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1409 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1415 msgid "Inline report display" msgstr "" -#: common/models.py:1412 +#: common/models.py:1416 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1418 +#: common/models.py:1422 msgid "Search Parts" msgstr "" -#: common/models.py:1419 +#: common/models.py:1423 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1429 msgid "Search Categories" msgstr "" -#: common/models.py:1426 +#: common/models.py:1430 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1436 msgid "Search Stock" msgstr "" -#: common/models.py:1433 +#: common/models.py:1437 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1443 msgid "Search Locations" msgstr "" -#: common/models.py:1440 +#: common/models.py:1444 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1450 msgid "Search Companies" msgstr "" -#: common/models.py:1447 +#: common/models.py:1451 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1457 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1458 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1464 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1461 +#: common/models.py:1465 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1471 msgid "Search Preview Results" msgstr "" -#: common/models.py:1468 +#: common/models.py:1472 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1478 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1475 +#: common/models.py:1479 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1481 +#: common/models.py:1485 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1482 +#: common/models.py:1486 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1492 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1489 +#: common/models.py:1493 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1495 +#: common/models.py:1499 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1496 +#: common/models.py:1500 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1502 +#: common/models.py:1506 msgid "Date Format" msgstr "" -#: common/models.py:1503 +#: common/models.py:1507 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1521 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1518 +#: common/models.py:1522 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1590 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1583 company/serializers.py:264 +#: common/models.py:1597 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1584 +#: common/models.py:1598 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1755 common/models.py:1892 msgid "Endpoint" msgstr "" -#: common/models.py:1742 +#: common/models.py:1756 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1751 +#: common/models.py:1765 msgid "Name for this webhook" msgstr "" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1770 part/models.py:988 plugin/models.py:49 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2449,67 +2401,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1757 +#: common/models.py:1771 msgid "Is this webhook active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1785 msgid "Token" msgstr "" -#: common/models.py:1772 +#: common/models.py:1786 msgid "Token for access" msgstr "" -#: common/models.py:1779 +#: common/models.py:1793 msgid "Secret" msgstr "" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1847 +#: common/models.py:1859 msgid "Message ID" msgstr "" -#: common/models.py:1848 +#: common/models.py:1860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Host" msgstr "" -#: common/models.py:1857 +#: common/models.py:1869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Header" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Header of this message" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Body" msgstr "" -#: common/models.py:1872 +#: common/models.py:1884 msgid "Body of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1893 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Worked on" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Was the work on this message finished?" msgstr "" @@ -2646,7 +2598,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:612 +#: company/models.py:317 company/models.py:532 stock/models.py:619 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "" @@ -2673,7 +2625,7 @@ msgstr "" #: company/models.py:339 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" @@ -2703,7 +2655,7 @@ msgstr "" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2205 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2732,7 +2684,7 @@ msgstr "" #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2743,7 +2695,7 @@ msgid "Select supplier" msgstr "" #: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" @@ -2780,7 +2732,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: stock/models.py:643 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" @@ -2853,10 +2805,10 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:662 +#: stock/models.py:663 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -3105,7 +3057,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 +#: company/templates/company/supplier_part.html:24 stock/models.py:627 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3372,7 +3324,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" @@ -3429,7 +3381,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "" #: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" @@ -3491,7 +3443,7 @@ msgstr "" #: order/models.py:949 order/models.py:1031 order/models.py:1053 #: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "" @@ -3500,7 +3452,7 @@ msgstr "" #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" @@ -3511,7 +3463,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" @@ -3521,7 +3473,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3876,7 +3828,7 @@ msgstr "" #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3967,7 +3919,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "" @@ -4049,19 +4001,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1045 +#: part/api.py:1037 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1049 +#: part/api.py:1041 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1064 +#: part/api.py:1056 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 msgid "This field is required" msgstr "" @@ -5115,7 +5067,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5496,6 +5448,58 @@ msgstr "" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "Nenhuma ação especificada" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "Nenhuma ação correspondente encontrada" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 +msgid "Must provide barcode_data parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:129 +msgid "No match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:131 +msgid "Match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:156 +msgid "Must provide stockitem parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:163 +msgid "No matching stock item found" +msgstr "" + +#: plugin/base/barcodes/api.py:193 +msgid "Barcode already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:197 +msgid "Barcode already matches Stock Location" +msgstr "" + +#: plugin/base/barcodes/api.py:201 +msgid "Barcode already matches Part" +msgstr "" + +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 +msgid "Barcode hash already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:225 +msgid "Barcode associated with Stock Item" +msgstr "" + +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5514,50 +5518,46 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:226 -msgid "Label printing failed" -msgstr "" - -#: plugin/integration.py:146 -msgid "No author found" -msgstr "" - -#: plugin/integration.py:160 -msgid "No date found" -msgstr "" - -#: plugin/models.py:27 +#: plugin/models.py:29 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:30 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:35 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:36 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:44 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:50 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:123 msgid "Plugin" msgstr "" -#: plugin/models.py:176 +#: plugin/models.py:197 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "" @@ -5724,12 +5724,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:667 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "" @@ -5738,19 +5738,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2193 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2199 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "" @@ -5785,12 +5785,12 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:94 stock/models.py:762 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:95 stock/models.py:763 msgid "Select Owner" msgstr "" @@ -5819,203 +5819,203 @@ msgstr "" msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:561 +#: stock/models.py:568 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:604 +#: stock/models.py:611 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:613 +#: stock/models.py:620 msgid "Base part" msgstr "" -#: stock/models.py:621 +#: stock/models.py:628 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:634 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:630 +#: stock/models.py:637 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:637 +#: stock/models.py:644 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:650 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "" -#: stock/models.py:646 +#: stock/models.py:653 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:662 +#: stock/models.py:669 msgid "Serial number for this item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:683 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:681 +#: stock/models.py:688 msgid "Stock Quantity" msgstr "" -#: stock/models.py:690 +#: stock/models.py:697 msgid "Source Build" msgstr "" -#: stock/models.py:692 +#: stock/models.py:699 msgid "Build for this stock item" msgstr "" -#: stock/models.py:703 +#: stock/models.py:710 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:706 +#: stock/models.py:713 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:712 +#: stock/models.py:719 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:725 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:719 +#: stock/models.py:726 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete on deplete" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:749 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:751 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:783 +#: stock/models.py:790 msgid "Converted to part" msgstr "" -#: stock/models.py:1303 +#: stock/models.py:1310 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1309 +#: stock/models.py:1316 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1315 +#: stock/models.py:1322 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1318 +#: stock/models.py:1325 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1328 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1335 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1399 +#: stock/models.py:1406 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1402 +#: stock/models.py:1409 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1405 +#: stock/models.py:1412 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1408 +#: stock/models.py:1415 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1411 +#: stock/models.py:1418 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1414 +#: stock/models.py:1421 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1428 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1429 +#: stock/models.py:1436 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1440 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1605 +#: stock/models.py:1612 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2106 +#: stock/models.py:2113 msgid "Entry notes" msgstr "" -#: stock/models.py:2163 +#: stock/models.py:2170 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2169 +#: stock/models.py:2176 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2187 +#: stock/models.py:2194 msgid "Test name" msgstr "" -#: stock/models.py:2193 +#: stock/models.py:2200 msgid "Test result" msgstr "" -#: stock/models.py:2199 +#: stock/models.py:2206 msgid "Test output value" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2213 msgid "Test result attachment" msgstr "" -#: stock/models.py:2212 +#: stock/models.py:2219 msgid "Test notes" msgstr "" @@ -8094,12 +8094,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "" @@ -8128,11 +8128,11 @@ msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "" @@ -8140,21 +8140,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "" @@ -8166,7 +8166,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8174,11 +8174,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "" @@ -8759,209 +8759,209 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "" diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po index e12d427f1d..a01c32fc3c 100644 --- a/InvenTree/locale/pt_br/LC_MESSAGES/django.po +++ b/InvenTree/locale/pt_br/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-07 23:02+0000\n" +"POT-Creation-Date: 2022-05-11 13:30+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -129,7 +129,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2202 +#: InvenTree/models.py:197 stock/models.py:2205 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "" @@ -139,15 +139,15 @@ msgid "Select file to attach" msgstr "" #: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:868 +#: company/models.py:561 order/models.py:132 part/models.py:870 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:869 -#: stock/models.py:669 +#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 +#: stock/models.py:670 msgid "Link to external URL" msgstr "" @@ -159,10 +159,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535 -#: common/models.py:1536 common/models.py:1757 common/models.py:1758 -#: common/models.py:1987 common/models.py:1988 part/models.py:2369 -#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 +#: common/models.py:1543 common/models.py:1764 common/models.py:1765 +#: common/models.py:1994 common/models.py:1995 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -201,15 +201,15 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743 -#: company/models.py:412 label/models.py:112 part/models.py:812 -#: part/models.py:2553 plugin/models.py:41 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: company/models.py:412 label/models.py:112 part/models.py:814 +#: part/models.py:2555 plugin/models.py:41 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:323 +#: templates/InvenTree/settings/settings.html:327 #: templates/js/translated/company.js:641 templates/js/translated/part.js:615 #: templates/js/translated/part.js:767 templates/js/translated/part.js:1736 #: templates/js/translated/stock.js:2288 @@ -221,7 +221,7 @@ msgstr "" #: company/models.py:567 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74 +#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 #: part/templates/part/set_category.html:14 report/models.py:190 #: report/models.py:555 report/models.py:594 @@ -229,7 +229,7 @@ msgstr "" #: stock/templates/stock/location.html:94 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 -#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345 +#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 #: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 @@ -248,7 +248,7 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/serializers.py:65 part/models.py:2886 +#: InvenTree/serializers.py:65 part/models.py:2888 msgid "Must be a valid number" msgstr "" @@ -284,20 +284,20 @@ msgstr "" msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:536 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:539 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:623 +#: InvenTree/serializers.py:626 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:632 +#: InvenTree/serializers.py:635 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -617,46 +617,6 @@ msgstr "" msgid "System Information" msgstr "" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "" @@ -683,11 +643,11 @@ msgid "Build Order Reference" msgstr "" #: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2797 +#: order/models.py:869 part/models.py:2799 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793 +#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 #: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 #: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 msgid "Reference" @@ -708,10 +668,10 @@ msgstr "" #: build/models.py:227 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:367 -#: part/models.py:2315 part/models.py:2331 part/models.py:2350 -#: part/models.py:2367 part/models.py:2469 part/models.py:2591 -#: part/models.py:2681 part/models.py:2772 part/models.py:3062 +#: order/models.py:968 order/models.py:1057 part/models.py:369 +#: part/models.py:2317 part/models.py:2333 part/models.py:2352 +#: part/models.py:2369 part/models.py:2471 part/models.py:2593 +#: part/models.py:2683 part/models.py:2774 part/models.py:3064 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -723,9 +683,9 @@ msgstr "" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157 -#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099 -#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492 +#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 +#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 @@ -751,7 +711,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 msgid "Source Location" msgstr "" @@ -792,7 +752,7 @@ msgid "Build status code" msgstr "" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:673 templates/js/translated/order.js:1053 +#: stock/models.py:674 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" @@ -800,7 +760,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:294 order/models.py:134 part/models.py:1007 +#: build/models.py:294 order/models.py:134 part/models.py:1009 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 msgid "Creation Date" msgstr "" @@ -814,7 +774,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "" #: build/models.py:302 order/models.py:280 -#: templates/js/translated/build.js:2489 +#: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "" @@ -822,7 +782,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:316 templates/js/translated/build.js:2457 +#: build/models.py:316 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "" @@ -833,9 +793,9 @@ msgstr "" #: build/models.py:325 build/templates/build/build_base.html:190 #: build/templates/build/detail.html:115 order/models.py:148 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1011 +#: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 msgid "Responsible" msgstr "" @@ -846,7 +806,7 @@ msgstr "" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:667 +#: part/templates/part/part_base.html:346 stock/models.py:668 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "" @@ -856,10 +816,10 @@ msgstr "" #: company/models.py:574 company/templates/company/sidebar.html:25 #: order/models.py:152 order/models.py:871 order/models.py:1178 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:996 +#: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208 +#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 @@ -913,7 +873,7 @@ msgid "Selected stock item not found in BOM" msgstr "" #: build/models.py:1376 stock/templates/stock/item_base.html:329 -#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385 +#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "" @@ -928,7 +888,7 @@ msgstr "" #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 -#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537 +#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 #: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 #: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 @@ -943,11 +903,11 @@ msgstr "" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1568 +#: build/templates/build/detail.html:34 common/models.py:1575 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2788 +#: part/forms.py:142 part/forms.py:158 part/models.py:2790 #: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -961,8 +921,8 @@ msgstr "" #: stock/templates/stock/item_base.html:254 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 #: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179 -#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102 +#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 +#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 @@ -990,7 +950,7 @@ msgid "Destination stock item" msgstr "" #: build/serializers.py:138 build/serializers.py:664 -#: templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" @@ -1016,7 +976,7 @@ msgstr "" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "" @@ -1060,7 +1020,7 @@ msgstr "" #: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 -#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091 +#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 #: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 #: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 @@ -1076,7 +1036,7 @@ msgstr "" #: build/serializers.py:383 build/templates/build/build_base.html:142 #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 -#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441 +#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 #: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 @@ -1139,8 +1099,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912 -#: part/models.py:3054 +#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 +#: part/models.py:3056 msgid "BOM Item" msgstr "" @@ -1279,7 +1239,7 @@ msgstr "" #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 #: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 #: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 msgid "Target Date" @@ -1365,7 +1325,7 @@ msgstr "" #: build/templates/build/detail.html:80 #: stock/templates/stock/item_base.html:315 -#: templates/js/translated/build.js:1183 +#: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 #: templates/js/translated/stock.js:2611 @@ -1377,7 +1337,7 @@ msgstr "" #: build/templates/build/detail.html:126 #: order/templates/order/order_base.html:149 #: order/templates/order/sales_order_base.html:157 -#: templates/js/translated/build.js:2449 +#: templates/js/translated/build.js:2450 msgid "Created" msgstr "" @@ -1397,7 +1357,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915 +#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916 msgid "Unallocate stock" msgstr "" @@ -1694,747 +1654,755 @@ msgid "Enable barcode scanner support" msgstr "" #: common/models.py:846 -msgid "IPN Regex" +msgid "Barcode Webcam Support" msgstr "" #: common/models.py:847 +msgid "Allow barcode scanning via webcam in browser" +msgstr "" + +#: common/models.py:853 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:854 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:851 +#: common/models.py:858 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:852 +#: common/models.py:859 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:858 +#: common/models.py:865 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:859 +#: common/models.py:866 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:865 +#: common/models.py:872 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:866 +#: common/models.py:873 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:872 +#: common/models.py:879 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:873 +#: common/models.py:880 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:886 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:880 +#: common/models.py:887 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:886 +#: common/models.py:893 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:887 +#: common/models.py:894 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:893 part/models.py:2593 report/models.py:183 +#: common/models.py:900 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:894 +#: common/models.py:901 msgid "Parts are templates by default" msgstr "" -#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335 +#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:901 +#: common/models.py:908 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:907 part/models.py:965 +#: common/models.py:914 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:908 +#: common/models.py:915 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:914 part/models.py:976 +#: common/models.py:921 part/models.py:978 msgid "Purchaseable" msgstr "" -#: common/models.py:915 +#: common/models.py:922 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:921 part/models.py:981 +#: common/models.py:928 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:922 +#: common/models.py:929 msgid "Parts are salable by default" msgstr "" -#: common/models.py:928 part/models.py:971 +#: common/models.py:935 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:929 +#: common/models.py:936 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:935 part/models.py:991 +#: common/models.py:942 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:936 +#: common/models.py:943 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:942 +#: common/models.py:949 msgid "Show Import in Views" msgstr "" -#: common/models.py:943 +#: common/models.py:950 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:949 +#: common/models.py:956 msgid "Show Price in Forms" msgstr "" -#: common/models.py:950 +#: common/models.py:957 msgid "Display part price in some forms" msgstr "" -#: common/models.py:961 +#: common/models.py:968 msgid "Show Price in BOM" msgstr "" -#: common/models.py:962 +#: common/models.py:969 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:973 +#: common/models.py:980 msgid "Show Price History" msgstr "" -#: common/models.py:974 +#: common/models.py:981 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:980 +#: common/models.py:987 msgid "Show related parts" msgstr "" -#: common/models.py:981 +#: common/models.py:988 msgid "Display related parts for a part" msgstr "" -#: common/models.py:987 +#: common/models.py:994 msgid "Create initial stock" msgstr "" -#: common/models.py:988 +#: common/models.py:995 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:994 +#: common/models.py:1001 msgid "Internal Prices" msgstr "" -#: common/models.py:995 +#: common/models.py:1002 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1001 +#: common/models.py:1008 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1002 +#: common/models.py:1009 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1008 +#: common/models.py:1015 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1009 +#: common/models.py:1016 msgid "Format to display the part name" msgstr "" -#: common/models.py:1016 +#: common/models.py:1023 msgid "Enable Reports" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1023 templates/stats.html:25 +#: common/models.py:1030 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1024 +#: common/models.py:1031 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1030 +#: common/models.py:1037 msgid "Page Size" msgstr "" -#: common/models.py:1031 +#: common/models.py:1038 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Test Reports" msgstr "" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Batch Code Template" msgstr "" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1054 +#: common/models.py:1061 msgid "Stock Expiry" msgstr "" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1061 +#: common/models.py:1068 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1068 +#: common/models.py:1075 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1071 +#: common/models.py:1078 msgid "days" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1084 +#: common/models.py:1091 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1096 +#: common/models.py:1103 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1101 +#: common/models.py:1108 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1102 +#: common/models.py:1109 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1108 +#: common/models.py:1115 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Enable password forgot" msgstr "" -#: common/models.py:1115 +#: common/models.py:1122 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable registration" msgstr "" -#: common/models.py:1122 +#: common/models.py:1129 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable SSO" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Email required" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1143 +#: common/models.py:1150 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Mail twice" msgstr "" -#: common/models.py:1150 +#: common/models.py:1157 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Password twice" msgstr "" -#: common/models.py:1157 +#: common/models.py:1164 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1163 +#: common/models.py:1170 msgid "Group on signup" msgstr "" -#: common/models.py:1164 +#: common/models.py:1171 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1170 +#: common/models.py:1177 msgid "Enforce MFA" msgstr "" -#: common/models.py:1171 +#: common/models.py:1178 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1178 +#: common/models.py:1185 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1186 +#: common/models.py:1193 msgid "Enable URL integration" msgstr "" -#: common/models.py:1187 +#: common/models.py:1194 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1194 +#: common/models.py:1201 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1195 +#: common/models.py:1202 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Enable app integration" msgstr "" -#: common/models.py:1203 +#: common/models.py:1210 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1210 +#: common/models.py:1217 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1211 +#: common/models.py:1218 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1218 +#: common/models.py:1225 msgid "Enable event integration" msgstr "" -#: common/models.py:1219 +#: common/models.py:1226 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1234 common/models.py:1528 +#: common/models.py:1241 common/models.py:1535 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1266 +#: common/models.py:1273 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Show latest parts" msgstr "" -#: common/models.py:1280 +#: common/models.py:1287 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1286 +#: common/models.py:1293 msgid "Recent Part Count" msgstr "" -#: common/models.py:1287 +#: common/models.py:1294 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1293 +#: common/models.py:1300 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1294 +#: common/models.py:1301 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1300 +#: common/models.py:1307 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1301 +#: common/models.py:1308 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Show low stock" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Show depleted stock" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1335 msgid "Show needed stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Show expired stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Show stale stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Show pending builds" msgstr "" -#: common/models.py:1350 +#: common/models.py:1357 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Show overdue builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1364 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1377 msgid "Show overdue POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1390 +#: common/models.py:1397 msgid "Enable label printing" msgstr "" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Inline label display" msgstr "" -#: common/models.py:1398 +#: common/models.py:1405 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1404 +#: common/models.py:1411 msgid "Inline report display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Search Parts" msgstr "" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Search Categories" msgstr "" -#: common/models.py:1419 +#: common/models.py:1426 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1432 msgid "Search Stock" msgstr "" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Search Locations" msgstr "" -#: common/models.py:1433 +#: common/models.py:1440 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1446 msgid "Search Companies" msgstr "" -#: common/models.py:1440 +#: common/models.py:1447 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1453 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1460 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1467 msgid "Search Preview Results" msgstr "" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1474 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1468 +#: common/models.py:1475 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1481 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1481 +#: common/models.py:1488 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1495 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1489 +#: common/models.py:1496 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1495 +#: common/models.py:1502 msgid "Date Format" msgstr "" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1510 part/templates/part/detail.html:39 +#: common/models.py:1517 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1569 company/forms.py:43 +#: common/models.py:1576 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1576 company/serializers.py:264 +#: common/models.py:1583 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1734 common/models.py:1873 +#: common/models.py:1741 common/models.py:1880 msgid "Endpoint" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Name for this webhook" msgstr "" -#: common/models.py:1749 part/models.py:986 plugin/models.py:47 +#: common/models.py:1756 part/models.py:988 plugin/models.py:47 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2442,67 +2410,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1750 +#: common/models.py:1757 msgid "Is this webhook active" msgstr "" -#: common/models.py:1764 +#: common/models.py:1771 msgid "Token" msgstr "" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Token for access" msgstr "" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Secret" msgstr "" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1840 +#: common/models.py:1847 msgid "Message ID" msgstr "" -#: common/models.py:1841 +#: common/models.py:1848 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Host" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Header" msgstr "" -#: common/models.py:1858 +#: common/models.py:1865 msgid "Header of this message" msgstr "" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Body" msgstr "" -#: common/models.py:1865 +#: common/models.py:1872 msgid "Body of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1879 +#: common/models.py:1886 msgid "Worked on" msgstr "" -#: common/models.py:1880 +#: common/models.py:1887 msgid "Was the work on this message finished?" msgstr "" @@ -2601,7 +2569,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:878 +#: company/models.py:139 part/models.py:880 msgid "Image" msgstr "" @@ -2639,7 +2607,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:611 +#: company/models.py:317 company/models.py:532 stock/models.py:612 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "" @@ -2696,7 +2664,7 @@ msgstr "" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:647 +#: stock/models.py:2198 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2705,9 +2673,9 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:953 part/models.py:2561 +#: company/models.py:426 part/models.py:955 part/models.py:2563 #: part/templates/part/part_base.html:280 -#: templates/InvenTree/settings/settings.html:328 +#: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "" @@ -2758,22 +2726,22 @@ msgid "Supplier part description" msgstr "" #: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2800 part/templates/part/upload_bom.html:59 +#: part/models.py:2802 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 msgid "Note" msgstr "" -#: company/models.py:577 part/models.py:1871 +#: company/models.py:577 part/models.py:1873 msgid "base cost" msgstr "" -#: company/models.py:577 part/models.py:1871 +#: company/models.py:577 part/models.py:1873 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:635 stock/templates/stock/item_base.html:322 +#: stock/models.py:636 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" @@ -2782,7 +2750,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:581 part/models.py:1873 +#: company/models.py:581 part/models.py:1875 msgid "multiple" msgstr "" @@ -2846,8 +2814,8 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:654 -#: stock/models.py:655 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:655 +#: stock/models.py:656 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 #: templates/js/translated/stock.js:2436 @@ -2973,7 +2941,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/detail.html:167 -#: templates/js/translated/build.js:1674 +#: templates/js/translated/build.js:1675 msgid "Assigned Stock" msgstr "" @@ -3098,7 +3066,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:619 +#: company/templates/company/supplier_part.html:24 stock/models.py:620 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3263,7 +3231,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: label/api.py:97 report/api.py:203 +#: label/api.py:96 report/api.py:203 msgid "No valid objects provided to template" msgstr "" @@ -3514,7 +3482,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3867,7 +3835,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 -#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988 +#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 @@ -3984,7 +3952,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896 +#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 msgid "Actions" msgstr "" @@ -4058,7 +4026,7 @@ msgstr "" msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:112 part/models.py:887 +#: part/bom.py:125 part/models.py:114 part/models.py:889 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" @@ -4094,30 +4062,30 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:113 +#: part/models.py:115 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:116 +#: part/models.py:118 msgid "Default keywords" msgstr "" -#: part/models.py:116 +#: part/models.py:118 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 +#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:127 part/templates/part/category.html:128 +#: part/models.py:129 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:368 part/templates/part/cat_link.html:3 +#: part/models.py:370 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4128,415 +4096,415 @@ msgstr "" msgid "Parts" msgstr "" -#: part/models.py:460 +#: part/models.py:462 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:535 part/models.py:547 +#: part/models.py:537 part/models.py:549 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:677 +#: part/models.py:679 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:681 +#: part/models.py:683 msgid "Next available serial number is" msgstr "" -#: part/models.py:686 +#: part/models.py:688 msgid "Most recent serial number is" msgstr "" -#: part/models.py:782 +#: part/models.py:784 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 part/models.py:2690 +#: part/models.py:813 part/models.py:2692 msgid "Part name" msgstr "" -#: part/models.py:818 +#: part/models.py:820 msgid "Is Template" msgstr "" -#: part/models.py:819 +#: part/models.py:821 msgid "Is this part a template part?" msgstr "" -#: part/models.py:829 +#: part/models.py:831 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:830 +#: part/models.py:832 msgid "Variant Of" msgstr "" -#: part/models.py:836 +#: part/models.py:838 msgid "Part description" msgstr "" -#: part/models.py:841 part/templates/part/category.html:86 +#: part/models.py:843 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:842 +#: part/models.py:844 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:849 part/models.py:2387 part/models.py:2636 +#: part/models.py:851 part/models.py:2389 part/models.py:2638 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 -#: templates/InvenTree/settings/settings.html:227 +#: templates/InvenTree/settings/settings.html:231 #: templates/js/translated/part.js:1369 msgid "Category" msgstr "" -#: part/models.py:850 +#: part/models.py:852 msgid "Part category" msgstr "" -#: part/models.py:855 part/templates/part/part_base.html:266 +#: part/models.py:857 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:856 +#: part/models.py:858 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:864 msgid "Part revision or version number" msgstr "" -#: part/models.py:863 part/templates/part/part_base.html:273 +#: part/models.py:865 part/templates/part/part_base.html:273 #: report/models.py:196 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:885 +#: part/models.py:887 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:932 part/templates/part/part_base.html:339 +#: part/models.py:934 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:933 +#: part/models.py:935 msgid "Default supplier part" msgstr "" -#: part/models.py:940 +#: part/models.py:942 msgid "Default Expiry" msgstr "" -#: part/models.py:941 +#: part/models.py:943 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:946 part/templates/part/part_base.html:200 +#: part/models.py:948 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:947 +#: part/models.py:949 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:954 +#: part/models.py:956 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:960 +#: part/models.py:962 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:966 +#: part/models.py:968 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:972 +#: part/models.py:974 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:977 +#: part/models.py:979 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:982 +#: part/models.py:984 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:987 +#: part/models.py:989 msgid "Is this part active?" msgstr "" -#: part/models.py:992 +#: part/models.py:994 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:997 +#: part/models.py:999 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1000 +#: part/models.py:1002 msgid "BOM checksum" msgstr "" -#: part/models.py:1000 +#: part/models.py:1002 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1003 +#: part/models.py:1005 msgid "BOM checked by" msgstr "" -#: part/models.py:1005 +#: part/models.py:1007 msgid "BOM checked date" msgstr "" -#: part/models.py:1009 +#: part/models.py:1011 msgid "Creation User" msgstr "" -#: part/models.py:1873 +#: part/models.py:1875 msgid "Sell multiple" msgstr "" -#: part/models.py:2437 +#: part/models.py:2439 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2454 +#: part/models.py:2456 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2474 templates/js/translated/part.js:1819 +#: part/models.py:2476 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2475 +#: part/models.py:2477 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2480 +#: part/models.py:2482 msgid "Test Description" msgstr "" -#: part/models.py:2481 +#: part/models.py:2483 msgid "Enter description for this test" msgstr "" -#: part/models.py:2486 templates/js/translated/part.js:1828 +#: part/models.py:2488 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2487 +#: part/models.py:2489 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2492 templates/js/translated/part.js:1836 +#: part/models.py:2494 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2493 +#: part/models.py:2495 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2498 templates/js/translated/part.js:1843 +#: part/models.py:2500 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2499 +#: part/models.py:2501 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2510 +#: part/models.py:2512 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2546 +#: part/models.py:2548 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2554 +#: part/models.py:2556 msgid "Parameter Name" msgstr "" -#: part/models.py:2561 +#: part/models.py:2563 msgid "Parameter Units" msgstr "" -#: part/models.py:2591 +#: part/models.py:2593 msgid "Parent Part" msgstr "" -#: part/models.py:2593 part/models.py:2642 part/models.py:2643 -#: templates/InvenTree/settings/settings.html:222 +#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2595 +#: part/models.py:2597 msgid "Data" msgstr "" -#: part/models.py:2595 +#: part/models.py:2597 msgid "Parameter Value" msgstr "" -#: part/models.py:2647 templates/InvenTree/settings/settings.html:231 +#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2648 +#: part/models.py:2650 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2682 +#: part/models.py:2684 msgid "Part ID or part name" msgstr "" -#: part/models.py:2685 templates/js/translated/model_renderers.js:200 +#: part/models.py:2687 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2686 +#: part/models.py:2688 msgid "Unique part ID value" msgstr "" -#: part/models.py:2689 +#: part/models.py:2691 msgid "Part Name" msgstr "" -#: part/models.py:2693 +#: part/models.py:2695 msgid "Part IPN" msgstr "" -#: part/models.py:2694 +#: part/models.py:2696 msgid "Part IPN value" msgstr "" -#: part/models.py:2697 +#: part/models.py:2699 msgid "Level" msgstr "" -#: part/models.py:2698 +#: part/models.py:2700 msgid "BOM level" msgstr "" -#: part/models.py:2773 +#: part/models.py:2775 msgid "Select parent part" msgstr "" -#: part/models.py:2781 +#: part/models.py:2783 msgid "Sub part" msgstr "" -#: part/models.py:2782 +#: part/models.py:2784 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2788 +#: part/models.py:2790 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: part/models.py:2792 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2790 +#: part/models.py:2792 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2793 part/templates/part/upload_bom.html:55 +#: part/models.py:2795 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2794 +#: part/models.py:2796 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2797 +#: part/models.py:2799 msgid "BOM item reference" msgstr "" -#: part/models.py:2800 +#: part/models.py:2802 msgid "BOM item notes" msgstr "" -#: part/models.py:2802 +#: part/models.py:2804 msgid "Checksum" msgstr "" -#: part/models.py:2802 +#: part/models.py:2804 msgid "BOM line checksum" msgstr "" -#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: part/models.py:2808 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:927 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2807 +#: part/models.py:2809 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: part/models.py:2814 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:919 msgid "Allow Variants" msgstr "" -#: part/models.py:2813 +#: part/models.py:2815 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2898 stock/models.py:497 +#: part/models.py:2900 stock/models.py:498 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2907 part/models.py:2909 +#: part/models.py:2909 part/models.py:2911 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3021 +#: part/models.py:3023 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3043 +#: part/models.py:3045 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3055 +#: part/models.py:3057 msgid "Parent BOM item" msgstr "" -#: part/models.py:3063 +#: part/models.py:3065 msgid "Substitute part" msgstr "" -#: part/models.py:3074 +#: part/models.py:3076 msgid "Part 1" msgstr "" -#: part/models.py:3078 +#: part/models.py:3080 msgid "Part 2" msgstr "" -#: part/models.py:3078 +#: part/models.py:3080 msgid "Select Related Part" msgstr "" -#: part/models.py:3110 +#: part/models.py:3112 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -5490,6 +5458,46 @@ msgstr "" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" +#: plugin/barcode.py:53 plugin/barcode.py:154 +msgid "Must provide barcode_data parameter" +msgstr "" + +#: plugin/barcode.py:130 +msgid "No match found for barcode data" +msgstr "" + +#: plugin/barcode.py:132 +msgid "Match found for barcode data" +msgstr "" + +#: plugin/barcode.py:157 +msgid "Must provide stockitem parameter" +msgstr "" + +#: plugin/barcode.py:164 +msgid "No matching stock item found" +msgstr "" + +#: plugin/barcode.py:195 +msgid "Barcode already matches Stock Item" +msgstr "" + +#: plugin/barcode.py:199 +msgid "Barcode already matches Stock Location" +msgstr "" + +#: plugin/barcode.py:203 +msgid "Barcode already matches Part" +msgstr "" + +#: plugin/barcode.py:209 plugin/barcode.py:221 +msgid "Barcode hash already matches Stock Item" +msgstr "" + +#: plugin/barcode.py:227 +msgid "Barcode associated with Stock Item" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5508,7 +5516,7 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:222 +#: plugin/events.py:226 msgid "Label printing failed" msgstr "" @@ -5718,9 +5726,9 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:659 stock/templates/stock/item_base.html:156 +#: stock/models.py:660 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 -#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687 +#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 #: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 #: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 @@ -5732,12 +5740,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2186 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2192 msgid "Result" msgstr "" @@ -5779,237 +5787,237 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:93 stock/models.py:754 +#: stock/models.py:94 stock/models.py:755 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:95 stock/models.py:756 msgid "Select Owner" msgstr "" -#: stock/models.py:470 +#: stock/models.py:471 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:514 +#: stock/models.py:515 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:524 stock/models.py:533 +#: stock/models.py:525 stock/models.py:534 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:525 +#: stock/models.py:526 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:547 +#: stock/models.py:548 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:553 +#: stock/models.py:554 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:560 +#: stock/models.py:561 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:603 +#: stock/models.py:604 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:612 +#: stock/models.py:613 msgid "Base part" msgstr "" -#: stock/models.py:620 +#: stock/models.py:621 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:626 stock/templates/stock/location.html:16 +#: stock/models.py:627 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:629 +#: stock/models.py:630 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:636 +#: stock/models.py:637 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:642 stock/templates/stock/item_base.html:282 +#: stock/models.py:643 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "" -#: stock/models.py:645 +#: stock/models.py:646 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:661 +#: stock/models.py:662 msgid "Serial number for this item" msgstr "" -#: stock/models.py:675 +#: stock/models.py:676 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:680 +#: stock/models.py:681 msgid "Stock Quantity" msgstr "" -#: stock/models.py:689 +#: stock/models.py:690 msgid "Source Build" msgstr "" -#: stock/models.py:691 +#: stock/models.py:692 msgid "Build for this stock item" msgstr "" -#: stock/models.py:702 +#: stock/models.py:703 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:705 +#: stock/models.py:706 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:711 +#: stock/models.py:712 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:717 stock/templates/stock/item_base.html:193 +#: stock/models.py:718 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:718 +#: stock/models.py:719 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:731 +#: stock/models.py:732 msgid "Delete on deplete" msgstr "" -#: stock/models.py:731 +#: stock/models.py:732 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:741 stock/templates/stock/item.html:137 +#: stock/models.py:742 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:750 +#: stock/models.py:751 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:782 +#: stock/models.py:783 msgid "Converted to part" msgstr "" -#: stock/models.py:1302 +#: stock/models.py:1303 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1308 +#: stock/models.py:1309 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1314 +#: stock/models.py:1315 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1318 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1320 +#: stock/models.py:1321 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1328 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1398 +#: stock/models.py:1399 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1401 +#: stock/models.py:1402 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1404 +#: stock/models.py:1405 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1407 +#: stock/models.py:1408 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1410 +#: stock/models.py:1411 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1413 +#: stock/models.py:1414 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1420 stock/serializers.py:874 +#: stock/models.py:1421 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1425 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1429 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1433 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1604 +#: stock/models.py:1605 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:2106 msgid "Entry notes" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2163 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2169 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2187 msgid "Test name" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2193 msgid "Test result" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2199 msgid "Test output value" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2206 msgid "Test result attachment" msgstr "" -#: stock/models.py:2209 +#: stock/models.py:2212 msgid "Test notes" msgstr "" @@ -6329,7 +6337,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua msgstr "" #: stock/templates/stock/item_base.html:301 -#: templates/js/translated/build.js:1709 +#: templates/js/translated/build.js:1710 msgid "No location set" msgstr "" @@ -6687,7 +6695,7 @@ msgid "Notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:51 -#: templates/InvenTree/settings/settings.html:317 +#: templates/InvenTree/settings/settings.html:321 msgid "ID" msgstr "" @@ -6945,28 +6953,32 @@ msgid "Edit Plugin Setting" msgstr "" #: templates/InvenTree/settings/settings.html:121 +msgid "Edit Notification Setting" +msgstr "" + +#: templates/InvenTree/settings/settings.html:124 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings.html:126 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:212 +#: templates/InvenTree/settings/settings.html:216 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:234 -#: templates/InvenTree/settings/settings.html:333 +#: templates/InvenTree/settings/settings.html:238 +#: templates/InvenTree/settings/settings.html:337 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:235 -#: templates/InvenTree/settings/settings.html:334 +#: templates/InvenTree/settings/settings.html:239 +#: templates/InvenTree/settings/settings.html:338 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:313 +#: templates/InvenTree/settings/settings.html:317 msgid "No part parameter templates found" msgstr "" @@ -7546,8 +7558,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803 -#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527 +#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 msgid "Available" @@ -7874,24 +7886,24 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785 +#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830 +#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834 +#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836 +#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838 +#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" @@ -7931,7 +7943,7 @@ msgstr "" msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631 +#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" @@ -7939,7 +7951,7 @@ msgstr "" msgid "Are you sure you want to delete this BOM item?" msgstr "" -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" @@ -8065,166 +8077,166 @@ msgstr "" msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1137 +#: templates/js/translated/build.js:1138 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1206 +#: templates/js/translated/build.js:1207 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1214 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1235 +#: templates/js/translated/build.js:1236 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1240 +#: templates/js/translated/build.js:1241 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555 +#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 #: templates/js/translated/order.js:2881 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556 +#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 #: templates/js/translated/order.js:2882 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1746 +#: templates/js/translated/build.js:1747 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1756 +#: templates/js/translated/build.js:1757 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1781 +#: templates/js/translated/build.js:1782 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1798 +#: templates/js/translated/build.js:1799 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1824 +#: templates/js/translated/build.js:1825 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1826 +#: templates/js/translated/build.js:1827 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:1907 templates/stock_table.html:50 +#: templates/js/translated/build.js:1908 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172 +#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 #: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2073 +#: templates/js/translated/build.js:2074 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2074 +#: templates/js/translated/build.js:2075 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2116 +#: templates/js/translated/build.js:2117 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2296 +#: templates/js/translated/build.js:2297 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2297 +#: templates/js/translated/build.js:2298 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2299 +#: templates/js/translated/build.js:2300 msgid "If a location is specifed, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2300 +#: templates/js/translated/build.js:2301 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2301 +#: templates/js/translated/build.js:2302 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2322 +#: templates/js/translated/build.js:2323 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2362 +#: templates/js/translated/build.js:2363 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314 +#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314 #: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629 #: templates/js/translated/stock.js:2282 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2400 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2427 +#: templates/js/translated/build.js:2428 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524 +#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2476 msgid "No information" msgstr "" -#: templates/js/translated/build.js:2532 +#: templates/js/translated/build.js:2533 msgid "No parts allocated for" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index 5d5023541f..e20d2ab457 100644 --- a/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/InvenTree/locale/ru/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-10 04:16+0000\n" -"PO-Revision-Date: 2022-05-11 00:28\n" +"POT-Creation-Date: 2022-05-15 23:30+0000\n" +"PO-Revision-Date: 2022-05-16 01:10\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -17,18 +17,10 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:53 msgid "API endpoint not found" msgstr "Конечная точка API не обнаружена" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "Действие не указано" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "Соответствующее действие не найдено" - #: InvenTree/fields.py:100 msgid "Enter date" msgstr "Введите дату" @@ -128,7 +120,7 @@ msgstr "Файл не найден" msgid "Missing external link" msgstr "Отсутствует внешняя ссылка" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2212 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "Вложения" @@ -146,7 +138,7 @@ msgid "Link" msgstr "Ссылка" #: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: stock/models.py:677 msgid "Link to external URL" msgstr "Ссылка на внешний URL" @@ -158,10 +150,10 @@ msgstr "Комментарий" msgid "File comment" msgstr "Комментарий к файлу" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 +#: common/models.py:1547 common/models.py:1778 common/models.py:1779 +#: common/models.py:2006 common/models.py:2007 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -200,9 +192,9 @@ msgstr "Ошибка переименования файла" msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 #: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: part/models.py:2555 plugin/models.py:43 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -230,8 +222,8 @@ msgstr "Название" #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -440,7 +432,7 @@ msgid "Returned" msgstr "Возвращено" #: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "Доставлено" @@ -616,46 +608,6 @@ msgstr "Пароли должны совпадать" msgid "System Information" msgstr "Информация о системе" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "Должен быть предоставлен параметр штрихкода" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "Не найдено совпадений для данных штрих-кода" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "Найдено совпадение по штрих-коду" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "Необходимо предоставить параметр инвентаря" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "Не найдено совпадающих элементов инвентаря" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "Штрих-код уже совпадает с Компонентом" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "Неверный выбор для родительской сборки" @@ -687,8 +639,8 @@ msgstr "Ссылка на заказ" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 +#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 msgid "Reference" msgstr "Отсылка" @@ -727,8 +679,8 @@ msgstr "" #: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -750,7 +702,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "Расположение источника" @@ -791,7 +743,7 @@ msgid "Build status code" msgstr "Код статуса сборки" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: stock/models.py:681 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "Код партии" @@ -800,7 +752,7 @@ msgid "Batch code for this build output" msgstr "Код партии для этого вывода сборки" #: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "Дата создания" @@ -834,7 +786,7 @@ msgstr "Пользователь, выпустивший этот заказ н #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "Ответственный" @@ -845,7 +797,7 @@ msgstr "Пользователь, ответственный за этот за #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 +#: part/templates/part/part_base.html:346 stock/models.py:675 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "Внешняя ссылка" @@ -858,14 +810,14 @@ msgstr "Внешняя ссылка" #: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 +#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "Заметки" @@ -928,9 +880,9 @@ msgstr "" #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" @@ -942,7 +894,7 @@ msgstr "Исходный складской предмет" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 +#: build/templates/build/detail.html:34 common/models.py:1589 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 @@ -964,10 +916,10 @@ msgstr "Исходный складской предмет" #: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -1015,7 +967,7 @@ msgstr "Введите количество для вывода сборки" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" @@ -1060,8 +1012,8 @@ msgstr "" #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 @@ -1076,8 +1028,8 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "Статус" @@ -1278,9 +1230,9 @@ msgstr "" #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "Целевая дата" @@ -1314,7 +1266,7 @@ msgstr "Завершённые" #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "Заказ покупателя" @@ -1350,7 +1302,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "Назначение" @@ -1592,856 +1544,856 @@ msgstr "" msgid "Select {name} file to upload" msgstr "Выберите {name} файл для загрузки" -#: common/models.py:387 +#: common/models.py:401 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:389 +#: common/models.py:403 msgid "Settings value" msgstr "" -#: common/models.py:430 +#: common/models.py:444 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:450 +#: common/models.py:464 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:461 +#: common/models.py:475 msgid "Value must be an integer value" msgstr "" -#: common/models.py:510 +#: common/models.py:524 msgid "Key string must be unique" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "No group" msgstr "" -#: common/models.py:784 +#: common/models.py:788 msgid "Restart required" msgstr "Требуется перезапуск" -#: common/models.py:785 +#: common/models.py:789 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:792 +#: common/models.py:796 msgid "Server Instance Name" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:798 +#: common/models.py:802 msgid "Use instance name" msgstr "" -#: common/models.py:799 +#: common/models.py:803 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:805 +#: common/models.py:809 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:816 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "Название компании" -#: common/models.py:813 +#: common/models.py:817 msgid "Internal company name" msgstr "Внутреннее название компании" -#: common/models.py:818 +#: common/models.py:822 msgid "Base URL" msgstr "Базовая ссылка" -#: common/models.py:819 +#: common/models.py:823 msgid "Base URL for server instance" msgstr "Базовая ссылка для экземпляра сервера" -#: common/models.py:825 +#: common/models.py:829 msgid "Default Currency" msgstr "Валюта по умолчанию" -#: common/models.py:826 +#: common/models.py:830 msgid "Default currency" msgstr "Валюта по умолчанию" -#: common/models.py:832 +#: common/models.py:836 msgid "Download from URL" msgstr "Скачать по ссылке" -#: common/models.py:833 +#: common/models.py:837 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:840 +#: common/models.py:844 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:846 +#: common/models.py:850 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:851 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:857 msgid "IPN Regex" msgstr "" -#: common/models.py:854 +#: common/models.py:858 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:858 +#: common/models.py:862 msgid "Allow Duplicate IPN" msgstr "Разрешить повторяющиеся IPN" -#: common/models.py:859 +#: common/models.py:863 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:865 +#: common/models.py:869 msgid "Allow Editing IPN" msgstr "Разрешить редактирование IPN" -#: common/models.py:866 +#: common/models.py:870 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:872 +#: common/models.py:876 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:873 +#: common/models.py:877 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:883 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:880 +#: common/models.py:884 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:886 +#: common/models.py:890 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:887 +#: common/models.py:891 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:893 +#: common/models.py:897 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:894 +#: common/models.py:898 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:904 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Шаблон" -#: common/models.py:901 +#: common/models.py:905 msgid "Parts are templates by default" msgstr "По умолчанию детали являются шаблонами" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Сборка" -#: common/models.py:908 +#: common/models.py:912 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:914 part/models.py:967 +#: common/models.py:918 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Компонент" -#: common/models.py:915 +#: common/models.py:919 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:921 part/models.py:978 +#: common/models.py:925 part/models.py:978 msgid "Purchaseable" msgstr "" -#: common/models.py:922 +#: common/models.py:926 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:928 part/models.py:983 +#: common/models.py:932 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Можно продавать" -#: common/models.py:929 +#: common/models.py:933 msgid "Parts are salable by default" msgstr "" -#: common/models.py:935 part/models.py:973 +#: common/models.py:939 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Отслеживание" -#: common/models.py:936 +#: common/models.py:940 msgid "Parts are trackable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:942 part/models.py:993 +#: common/models.py:946 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:943 +#: common/models.py:947 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:949 +#: common/models.py:953 msgid "Show Import in Views" msgstr "" -#: common/models.py:950 +#: common/models.py:954 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:956 +#: common/models.py:960 msgid "Show Price in Forms" msgstr "Показывать цену в формах" -#: common/models.py:957 +#: common/models.py:961 msgid "Display part price in some forms" msgstr "" -#: common/models.py:968 +#: common/models.py:972 msgid "Show Price in BOM" msgstr "Показывать цену в BOM" -#: common/models.py:969 +#: common/models.py:973 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:980 +#: common/models.py:984 msgid "Show Price History" msgstr "Показывать историю цены" -#: common/models.py:981 +#: common/models.py:985 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:987 +#: common/models.py:991 msgid "Show related parts" msgstr "Показывать связанные детали" -#: common/models.py:988 +#: common/models.py:992 msgid "Display related parts for a part" msgstr "" -#: common/models.py:994 +#: common/models.py:998 msgid "Create initial stock" msgstr "" -#: common/models.py:995 +#: common/models.py:999 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1001 +#: common/models.py:1005 msgid "Internal Prices" msgstr "" -#: common/models.py:1002 +#: common/models.py:1006 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1008 +#: common/models.py:1012 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1009 +#: common/models.py:1013 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1015 +#: common/models.py:1019 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1016 +#: common/models.py:1020 msgid "Format to display the part name" msgstr "" -#: common/models.py:1023 +#: common/models.py:1027 msgid "Enable Reports" msgstr "" -#: common/models.py:1024 +#: common/models.py:1028 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1034 templates/stats.html:25 msgid "Debug Mode" msgstr "Режим отладки" -#: common/models.py:1031 +#: common/models.py:1035 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1037 +#: common/models.py:1041 msgid "Page Size" msgstr "" -#: common/models.py:1038 +#: common/models.py:1042 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1048 +#: common/models.py:1052 msgid "Test Reports" msgstr "" -#: common/models.py:1049 +#: common/models.py:1053 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1055 +#: common/models.py:1059 msgid "Batch Code Template" msgstr "" -#: common/models.py:1056 +#: common/models.py:1060 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1061 +#: common/models.py:1065 msgid "Stock Expiry" msgstr "" -#: common/models.py:1062 +#: common/models.py:1066 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1068 +#: common/models.py:1072 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1069 +#: common/models.py:1073 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1075 +#: common/models.py:1079 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1076 +#: common/models.py:1080 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1078 +#: common/models.py:1082 msgid "days" msgstr "" -#: common/models.py:1083 +#: common/models.py:1087 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1084 +#: common/models.py:1088 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1090 +#: common/models.py:1094 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1091 +#: common/models.py:1095 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1097 +#: common/models.py:1101 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1098 +#: common/models.py:1102 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1103 +#: common/models.py:1107 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1104 +#: common/models.py:1108 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1108 +#: common/models.py:1112 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1109 +#: common/models.py:1113 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1118 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1115 +#: common/models.py:1119 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1121 +#: common/models.py:1125 msgid "Enable password forgot" msgstr "" -#: common/models.py:1122 +#: common/models.py:1126 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1128 +#: common/models.py:1132 msgid "Enable registration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1133 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1135 +#: common/models.py:1139 msgid "Enable SSO" msgstr "" -#: common/models.py:1136 +#: common/models.py:1140 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1142 +#: common/models.py:1146 msgid "Email required" msgstr "Необходимо указать EMail" -#: common/models.py:1143 +#: common/models.py:1147 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1149 +#: common/models.py:1153 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1150 +#: common/models.py:1154 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1156 +#: common/models.py:1160 msgid "Mail twice" msgstr "" -#: common/models.py:1157 +#: common/models.py:1161 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1163 +#: common/models.py:1167 msgid "Password twice" msgstr "" -#: common/models.py:1164 +#: common/models.py:1168 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1170 +#: common/models.py:1174 msgid "Group on signup" msgstr "" -#: common/models.py:1171 +#: common/models.py:1175 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1177 +#: common/models.py:1181 msgid "Enforce MFA" msgstr "" -#: common/models.py:1178 +#: common/models.py:1182 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1184 +#: common/models.py:1188 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1185 +#: common/models.py:1189 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1193 +#: common/models.py:1197 msgid "Enable URL integration" msgstr "" -#: common/models.py:1194 +#: common/models.py:1198 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1201 +#: common/models.py:1205 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1202 +#: common/models.py:1206 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1209 +#: common/models.py:1213 msgid "Enable app integration" msgstr "" -#: common/models.py:1210 +#: common/models.py:1214 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1217 +#: common/models.py:1221 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1218 +#: common/models.py:1222 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1225 +#: common/models.py:1229 msgid "Enable event integration" msgstr "" -#: common/models.py:1226 +#: common/models.py:1230 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1245 common/models.py:1539 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1272 +#: common/models.py:1276 msgid "Show subscribed parts" msgstr "Показывать детали, на которые включены уведомления" -#: common/models.py:1273 +#: common/models.py:1277 msgid "Show subscribed parts on the homepage" msgstr "Показывать детали, на которые включены уведомления, на главной странице" -#: common/models.py:1279 +#: common/models.py:1283 msgid "Show subscribed categories" msgstr "Показывать категории, на которые включены уведомления" -#: common/models.py:1280 +#: common/models.py:1284 msgid "Show subscribed part categories on the homepage" msgstr "Показывать категории, на которые включены уведомления, на главной странице" -#: common/models.py:1286 +#: common/models.py:1290 msgid "Show latest parts" msgstr "Показывать последние детали" -#: common/models.py:1287 +#: common/models.py:1291 msgid "Show latest parts on the homepage" msgstr "Показывать последние детали на главной странице" -#: common/models.py:1293 +#: common/models.py:1297 msgid "Recent Part Count" msgstr "" -#: common/models.py:1294 +#: common/models.py:1298 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1300 +#: common/models.py:1304 msgid "Show unvalidated BOMs" msgstr "Показывать непроверенные BOMы" -#: common/models.py:1301 +#: common/models.py:1305 msgid "Show BOMs that await validation on the homepage" msgstr "Показывать BOMы, ожидающие проверки, на главной странице" -#: common/models.py:1307 +#: common/models.py:1311 msgid "Show recent stock changes" msgstr "Показывать изменившиеся складские запасы" -#: common/models.py:1308 +#: common/models.py:1312 msgid "Show recently changed stock items on the homepage" msgstr "Показывать единицы хранения с недавно изменившимися складскими запасами на главной странице" -#: common/models.py:1314 +#: common/models.py:1318 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1315 +#: common/models.py:1319 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1321 +#: common/models.py:1325 msgid "Show low stock" msgstr "Показывать низкие складские запасы" -#: common/models.py:1322 +#: common/models.py:1326 msgid "Show low stock items on the homepage" msgstr "Показывать единицы хранения с низкими складскими запасами на главной странице" -#: common/models.py:1328 +#: common/models.py:1332 msgid "Show depleted stock" msgstr "Показывать закончившиеся детали" -#: common/models.py:1329 +#: common/models.py:1333 msgid "Show depleted stock items on the homepage" msgstr "Показывать закончившиеся на складе единицы хранения на главной странице" -#: common/models.py:1335 +#: common/models.py:1339 msgid "Show needed stock" msgstr "Показывать требуемые детали" -#: common/models.py:1336 +#: common/models.py:1340 msgid "Show stock items needed for builds on the homepage" msgstr "Показывать требуемые для сборки единицы хранения на главной странице" -#: common/models.py:1342 +#: common/models.py:1346 msgid "Show expired stock" msgstr "Показывать просрочку" -#: common/models.py:1343 +#: common/models.py:1347 msgid "Show expired stock items on the homepage" msgstr "Показывать единицы хранения с истёкшим сроком годности на главной странице" -#: common/models.py:1349 +#: common/models.py:1353 msgid "Show stale stock" msgstr "Показывать залежалые" -#: common/models.py:1350 +#: common/models.py:1354 msgid "Show stale stock items on the homepage" msgstr "Показывать залежалые единицы хранения на главной странице" -#: common/models.py:1356 +#: common/models.py:1360 msgid "Show pending builds" msgstr "Показывать незавершённые сборки" -#: common/models.py:1357 +#: common/models.py:1361 msgid "Show pending builds on the homepage" msgstr "Показывать незавершённые сборки на главной странице" -#: common/models.py:1363 +#: common/models.py:1367 msgid "Show overdue builds" msgstr "Показывать просроченные сборки" -#: common/models.py:1364 +#: common/models.py:1368 msgid "Show overdue builds on the homepage" msgstr "Показывать просроченные сборки на главной странице" -#: common/models.py:1370 +#: common/models.py:1374 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1375 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1381 msgid "Show overdue POs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1382 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1388 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1389 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1391 +#: common/models.py:1395 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1392 +#: common/models.py:1396 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1397 +#: common/models.py:1401 msgid "Enable label printing" msgstr "" -#: common/models.py:1398 +#: common/models.py:1402 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1404 +#: common/models.py:1408 msgid "Inline label display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1409 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1415 msgid "Inline report display" msgstr "" -#: common/models.py:1412 +#: common/models.py:1416 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1418 +#: common/models.py:1422 msgid "Search Parts" msgstr "" -#: common/models.py:1419 +#: common/models.py:1423 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1429 msgid "Search Categories" msgstr "" -#: common/models.py:1426 +#: common/models.py:1430 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1436 msgid "Search Stock" msgstr "" -#: common/models.py:1433 +#: common/models.py:1437 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1443 msgid "Search Locations" msgstr "" -#: common/models.py:1440 +#: common/models.py:1444 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1450 msgid "Search Companies" msgstr "" -#: common/models.py:1447 +#: common/models.py:1451 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1457 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1458 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1464 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1461 +#: common/models.py:1465 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1471 msgid "Search Preview Results" msgstr "" -#: common/models.py:1468 +#: common/models.py:1472 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1478 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1475 +#: common/models.py:1479 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1481 +#: common/models.py:1485 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1482 +#: common/models.py:1486 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1492 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1489 +#: common/models.py:1493 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1495 +#: common/models.py:1499 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1496 +#: common/models.py:1500 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1502 +#: common/models.py:1506 msgid "Date Format" msgstr "" -#: common/models.py:1503 +#: common/models.py:1507 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1521 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1518 +#: common/models.py:1522 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1590 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1583 company/serializers.py:264 +#: common/models.py:1597 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "Цена" -#: common/models.py:1584 +#: common/models.py:1598 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1755 common/models.py:1892 msgid "Endpoint" msgstr "" -#: common/models.py:1742 +#: common/models.py:1756 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1751 +#: common/models.py:1765 msgid "Name for this webhook" msgstr "" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1770 part/models.py:988 plugin/models.py:49 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2449,67 +2401,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1757 +#: common/models.py:1771 msgid "Is this webhook active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1785 msgid "Token" msgstr "" -#: common/models.py:1772 +#: common/models.py:1786 msgid "Token for access" msgstr "" -#: common/models.py:1779 +#: common/models.py:1793 msgid "Secret" msgstr "" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1847 +#: common/models.py:1859 msgid "Message ID" msgstr "" -#: common/models.py:1848 +#: common/models.py:1860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Host" msgstr "" -#: common/models.py:1857 +#: common/models.py:1869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Header" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Header of this message" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Body" msgstr "" -#: common/models.py:1872 +#: common/models.py:1884 msgid "Body of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1893 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Worked on" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Was the work on this message finished?" msgstr "" @@ -2646,7 +2598,7 @@ msgstr "Валюта" msgid "Default currency used for this company" msgstr "Для этой компании используется валюта по умолчанию" -#: company/models.py:317 company/models.py:532 stock/models.py:612 +#: company/models.py:317 company/models.py:532 stock/models.py:619 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "Базовая деталь" @@ -2673,7 +2625,7 @@ msgstr "Выберите производителя" #: company/models.py:339 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" @@ -2703,7 +2655,7 @@ msgstr "Наименование параметра" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2205 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "Значение" @@ -2732,7 +2684,7 @@ msgstr "" #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2743,7 +2695,7 @@ msgid "Select supplier" msgstr "Выберите поставщика" #: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" @@ -2780,7 +2732,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: stock/models.py:643 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "Упаковка" @@ -2853,10 +2805,10 @@ msgid "Download image from URL" msgstr "Скачать изображение по ссылке" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:662 +#: stock/models.py:663 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -3105,7 +3057,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 +#: company/templates/company/supplier_part.html:24 stock/models.py:627 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3372,7 +3324,7 @@ msgid "Company from which the items are being ordered" msgstr "Компания, в которой детали заказываются" #: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" @@ -3429,7 +3381,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "" #: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" @@ -3491,7 +3443,7 @@ msgstr "" #: order/models.py:949 order/models.py:1031 order/models.py:1053 #: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "" @@ -3500,7 +3452,7 @@ msgstr "" #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" @@ -3511,7 +3463,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" @@ -3521,7 +3473,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3876,7 +3828,7 @@ msgstr "Выберите деталь поставщика" #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3967,7 +3919,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "" @@ -4049,19 +4001,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1045 +#: part/api.py:1037 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1049 +#: part/api.py:1041 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1064 +#: part/api.py:1056 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 msgid "This field is required" msgstr "" @@ -5115,7 +5067,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "Эта деталь является разновидностью %(link)s" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "На складе" @@ -5496,6 +5448,58 @@ msgstr "" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "Действие не указано" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "Соответствующее действие не найдено" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 +msgid "Must provide barcode_data parameter" +msgstr "Должен быть предоставлен параметр штрихкода" + +#: plugin/base/barcodes/api.py:129 +msgid "No match found for barcode data" +msgstr "Не найдено совпадений для данных штрих-кода" + +#: plugin/base/barcodes/api.py:131 +msgid "Match found for barcode data" +msgstr "Найдено совпадение по штрих-коду" + +#: plugin/base/barcodes/api.py:156 +msgid "Must provide stockitem parameter" +msgstr "Необходимо предоставить параметр инвентаря" + +#: plugin/base/barcodes/api.py:163 +msgid "No matching stock item found" +msgstr "Не найдено совпадающих элементов инвентаря" + +#: plugin/base/barcodes/api.py:193 +msgid "Barcode already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:197 +msgid "Barcode already matches Stock Location" +msgstr "" + +#: plugin/base/barcodes/api.py:201 +msgid "Barcode already matches Part" +msgstr "Штрих-код уже совпадает с Компонентом" + +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 +msgid "Barcode hash already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:225 +msgid "Barcode associated with Stock Item" +msgstr "" + +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5514,50 +5518,46 @@ msgstr "Включить уведомления по электронной по msgid "Allow sending of emails for event notifications" msgstr "Разрешить отправку уведомлений о событиях по электронной почте" -#: plugin/events.py:226 -msgid "Label printing failed" -msgstr "" - -#: plugin/integration.py:146 -msgid "No author found" -msgstr "Автор не найден" - -#: plugin/integration.py:160 -msgid "No date found" -msgstr "Дата не найдена" - -#: plugin/models.py:27 +#: plugin/models.py:29 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:30 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:35 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:36 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:44 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:50 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:123 msgid "Plugin" msgstr "" -#: plugin/models.py:176 +#: plugin/models.py:197 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "Автор не найден" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "Дата не найдена" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "" @@ -5724,12 +5724,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:667 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "Серийный номер" @@ -5738,19 +5738,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2193 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2199 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "" @@ -5785,12 +5785,12 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:94 stock/models.py:762 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:95 stock/models.py:763 msgid "Select Owner" msgstr "" @@ -5819,203 +5819,203 @@ msgstr "" msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:561 +#: stock/models.py:568 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:604 +#: stock/models.py:611 msgid "Parent Stock Item" msgstr "Родительская единица хранения" -#: stock/models.py:613 +#: stock/models.py:620 msgid "Base part" msgstr "Базовая деталь" -#: stock/models.py:621 +#: stock/models.py:628 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:634 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Место хранения" -#: stock/models.py:630 +#: stock/models.py:637 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:637 +#: stock/models.py:644 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:650 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "" -#: stock/models.py:646 +#: stock/models.py:653 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:662 +#: stock/models.py:669 msgid "Serial number for this item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:683 msgid "Batch code for this stock item" msgstr "Код партии для этой единицы хранения" -#: stock/models.py:681 +#: stock/models.py:688 msgid "Stock Quantity" msgstr "" -#: stock/models.py:690 +#: stock/models.py:697 msgid "Source Build" msgstr "Исходная сборка" -#: stock/models.py:692 +#: stock/models.py:699 msgid "Build for this stock item" msgstr "" -#: stock/models.py:703 +#: stock/models.py:710 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:706 +#: stock/models.py:713 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:712 +#: stock/models.py:719 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:725 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:719 +#: stock/models.py:726 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete on deplete" msgstr "Удалить при обнулении" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete this Stock Item when stock is depleted" msgstr "Удалить эту единицу хранения при обнулении складского запаса" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:749 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "Заметки о единице хранения" -#: stock/models.py:751 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:783 +#: stock/models.py:790 msgid "Converted to part" msgstr "" -#: stock/models.py:1303 +#: stock/models.py:1310 msgid "Part is not set as trackable" msgstr "Деталь не является отслеживаемой" -#: stock/models.py:1309 +#: stock/models.py:1316 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1315 +#: stock/models.py:1322 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1318 +#: stock/models.py:1325 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1328 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1335 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1399 +#: stock/models.py:1406 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1402 +#: stock/models.py:1409 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1405 +#: stock/models.py:1412 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1408 +#: stock/models.py:1415 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1411 +#: stock/models.py:1418 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1414 +#: stock/models.py:1421 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1428 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1429 +#: stock/models.py:1436 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1440 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1605 +#: stock/models.py:1612 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2106 +#: stock/models.py:2113 msgid "Entry notes" msgstr "" -#: stock/models.py:2163 +#: stock/models.py:2170 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2169 +#: stock/models.py:2176 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2187 +#: stock/models.py:2194 msgid "Test name" msgstr "" -#: stock/models.py:2193 +#: stock/models.py:2200 msgid "Test result" msgstr "" -#: stock/models.py:2199 +#: stock/models.py:2206 msgid "Test output value" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2213 msgid "Test result attachment" msgstr "" -#: stock/models.py:2212 +#: stock/models.py:2219 msgid "Test notes" msgstr "" @@ -8094,12 +8094,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "" @@ -8128,11 +8128,11 @@ msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "" @@ -8140,21 +8140,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "" @@ -8166,7 +8166,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8174,11 +8174,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "" @@ -8759,209 +8759,209 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "Заказов на закупку не найдено" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "Общая стоимость" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "Заказы на продажу не найдены" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "Подтвердите выделение запасов" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index 7b635c3f61..2e9efc33b3 100644 --- a/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/InvenTree/locale/sv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-10 04:16+0000\n" -"PO-Revision-Date: 2022-05-11 00:28\n" +"POT-Creation-Date: 2022-05-15 23:30+0000\n" +"PO-Revision-Date: 2022-05-16 01:10\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -17,18 +17,10 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:53 msgid "API endpoint not found" msgstr "API-slutpunkt hittades inte" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "Ingen åtgärd specificerad" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "Ingen matchande åtgärd hittades" - #: InvenTree/fields.py:100 msgid "Enter date" msgstr "Ange datum" @@ -128,7 +120,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2212 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "Bilaga" @@ -146,7 +138,7 @@ msgid "Link" msgstr "" #: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: stock/models.py:677 msgid "Link to external URL" msgstr "" @@ -158,10 +150,10 @@ msgstr "Kommentar" msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 +#: common/models.py:1547 common/models.py:1778 common/models.py:1779 +#: common/models.py:2006 common/models.py:2007 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -200,9 +192,9 @@ msgstr "Fel vid namnbyte av fil" msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 #: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: part/models.py:2555 plugin/models.py:43 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -230,8 +222,8 @@ msgstr "Namn" #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -440,7 +432,7 @@ msgid "Returned" msgstr "Återlämnad" #: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "Skickad" @@ -616,46 +608,6 @@ msgstr "" msgid "System Information" msgstr "" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "" @@ -687,8 +639,8 @@ msgstr "" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 +#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 msgid "Reference" msgstr "" @@ -727,8 +679,8 @@ msgstr "" #: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -750,7 +702,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" @@ -791,7 +743,7 @@ msgid "Build status code" msgstr "" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: stock/models.py:681 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" @@ -800,7 +752,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" @@ -834,7 +786,7 @@ msgstr "" #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" @@ -845,7 +797,7 @@ msgstr "" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 +#: part/templates/part/part_base.html:346 stock/models.py:675 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "" @@ -858,14 +810,14 @@ msgstr "" #: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 +#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "" @@ -928,9 +880,9 @@ msgstr "" #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" @@ -942,7 +894,7 @@ msgstr "" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 +#: build/templates/build/detail.html:34 common/models.py:1589 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 @@ -964,10 +916,10 @@ msgstr "" #: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -1015,7 +967,7 @@ msgstr "" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "" @@ -1060,8 +1012,8 @@ msgstr "" #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 @@ -1076,8 +1028,8 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "" @@ -1278,9 +1230,9 @@ msgstr "" #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "" @@ -1314,7 +1266,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1350,7 +1302,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1592,856 +1544,856 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:387 +#: common/models.py:401 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:389 +#: common/models.py:403 msgid "Settings value" msgstr "" -#: common/models.py:430 +#: common/models.py:444 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:450 +#: common/models.py:464 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:461 +#: common/models.py:475 msgid "Value must be an integer value" msgstr "" -#: common/models.py:510 +#: common/models.py:524 msgid "Key string must be unique" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "No group" msgstr "" -#: common/models.py:784 +#: common/models.py:788 msgid "Restart required" msgstr "" -#: common/models.py:785 +#: common/models.py:789 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:792 +#: common/models.py:796 msgid "Server Instance Name" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:798 +#: common/models.py:802 msgid "Use instance name" msgstr "" -#: common/models.py:799 +#: common/models.py:803 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:805 +#: common/models.py:809 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:816 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Internal company name" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Base URL" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Base URL for server instance" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Default Currency" msgstr "" -#: common/models.py:826 +#: common/models.py:830 msgid "Default currency" msgstr "" -#: common/models.py:832 +#: common/models.py:836 msgid "Download from URL" msgstr "" -#: common/models.py:833 +#: common/models.py:837 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:840 +#: common/models.py:844 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:846 +#: common/models.py:850 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:851 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:857 msgid "IPN Regex" msgstr "" -#: common/models.py:854 +#: common/models.py:858 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:858 +#: common/models.py:862 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:859 +#: common/models.py:863 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:865 +#: common/models.py:869 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:866 +#: common/models.py:870 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:872 +#: common/models.py:876 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:873 +#: common/models.py:877 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:883 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:880 +#: common/models.py:884 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:886 +#: common/models.py:890 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:887 +#: common/models.py:891 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:893 +#: common/models.py:897 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:894 +#: common/models.py:898 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:904 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:901 +#: common/models.py:905 msgid "Parts are templates by default" msgstr "" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:908 +#: common/models.py:912 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:914 part/models.py:967 +#: common/models.py:918 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:915 +#: common/models.py:919 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:921 part/models.py:978 +#: common/models.py:925 part/models.py:978 msgid "Purchaseable" msgstr "" -#: common/models.py:922 +#: common/models.py:926 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:928 part/models.py:983 +#: common/models.py:932 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:929 +#: common/models.py:933 msgid "Parts are salable by default" msgstr "" -#: common/models.py:935 part/models.py:973 +#: common/models.py:939 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:936 +#: common/models.py:940 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:942 part/models.py:993 +#: common/models.py:946 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:943 +#: common/models.py:947 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:949 +#: common/models.py:953 msgid "Show Import in Views" msgstr "" -#: common/models.py:950 +#: common/models.py:954 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:956 +#: common/models.py:960 msgid "Show Price in Forms" msgstr "" -#: common/models.py:957 +#: common/models.py:961 msgid "Display part price in some forms" msgstr "" -#: common/models.py:968 +#: common/models.py:972 msgid "Show Price in BOM" msgstr "" -#: common/models.py:969 +#: common/models.py:973 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:980 +#: common/models.py:984 msgid "Show Price History" msgstr "" -#: common/models.py:981 +#: common/models.py:985 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:987 +#: common/models.py:991 msgid "Show related parts" msgstr "" -#: common/models.py:988 +#: common/models.py:992 msgid "Display related parts for a part" msgstr "" -#: common/models.py:994 +#: common/models.py:998 msgid "Create initial stock" msgstr "" -#: common/models.py:995 +#: common/models.py:999 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1001 +#: common/models.py:1005 msgid "Internal Prices" msgstr "" -#: common/models.py:1002 +#: common/models.py:1006 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1008 +#: common/models.py:1012 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1009 +#: common/models.py:1013 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1015 +#: common/models.py:1019 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1016 +#: common/models.py:1020 msgid "Format to display the part name" msgstr "" -#: common/models.py:1023 +#: common/models.py:1027 msgid "Enable Reports" msgstr "" -#: common/models.py:1024 +#: common/models.py:1028 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1034 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1031 +#: common/models.py:1035 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1037 +#: common/models.py:1041 msgid "Page Size" msgstr "" -#: common/models.py:1038 +#: common/models.py:1042 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1048 +#: common/models.py:1052 msgid "Test Reports" msgstr "" -#: common/models.py:1049 +#: common/models.py:1053 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1055 +#: common/models.py:1059 msgid "Batch Code Template" msgstr "" -#: common/models.py:1056 +#: common/models.py:1060 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1061 +#: common/models.py:1065 msgid "Stock Expiry" msgstr "" -#: common/models.py:1062 +#: common/models.py:1066 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1068 +#: common/models.py:1072 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1069 +#: common/models.py:1073 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1075 +#: common/models.py:1079 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1076 +#: common/models.py:1080 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1078 +#: common/models.py:1082 msgid "days" msgstr "" -#: common/models.py:1083 +#: common/models.py:1087 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1084 +#: common/models.py:1088 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1090 +#: common/models.py:1094 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1091 +#: common/models.py:1095 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1097 +#: common/models.py:1101 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1098 +#: common/models.py:1102 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1103 +#: common/models.py:1107 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1104 +#: common/models.py:1108 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1108 +#: common/models.py:1112 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1109 +#: common/models.py:1113 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1118 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1115 +#: common/models.py:1119 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1121 +#: common/models.py:1125 msgid "Enable password forgot" msgstr "" -#: common/models.py:1122 +#: common/models.py:1126 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1128 +#: common/models.py:1132 msgid "Enable registration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1133 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1135 +#: common/models.py:1139 msgid "Enable SSO" msgstr "" -#: common/models.py:1136 +#: common/models.py:1140 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1142 +#: common/models.py:1146 msgid "Email required" msgstr "" -#: common/models.py:1143 +#: common/models.py:1147 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1149 +#: common/models.py:1153 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1150 +#: common/models.py:1154 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1156 +#: common/models.py:1160 msgid "Mail twice" msgstr "" -#: common/models.py:1157 +#: common/models.py:1161 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1163 +#: common/models.py:1167 msgid "Password twice" msgstr "" -#: common/models.py:1164 +#: common/models.py:1168 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1170 +#: common/models.py:1174 msgid "Group on signup" msgstr "" -#: common/models.py:1171 +#: common/models.py:1175 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1177 +#: common/models.py:1181 msgid "Enforce MFA" msgstr "" -#: common/models.py:1178 +#: common/models.py:1182 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1184 +#: common/models.py:1188 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1185 +#: common/models.py:1189 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1193 +#: common/models.py:1197 msgid "Enable URL integration" msgstr "" -#: common/models.py:1194 +#: common/models.py:1198 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1201 +#: common/models.py:1205 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1202 +#: common/models.py:1206 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1209 +#: common/models.py:1213 msgid "Enable app integration" msgstr "" -#: common/models.py:1210 +#: common/models.py:1214 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1217 +#: common/models.py:1221 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1218 +#: common/models.py:1222 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1225 +#: common/models.py:1229 msgid "Enable event integration" msgstr "" -#: common/models.py:1226 +#: common/models.py:1230 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1245 common/models.py:1539 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1272 +#: common/models.py:1276 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1273 +#: common/models.py:1277 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1279 +#: common/models.py:1283 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1280 +#: common/models.py:1284 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1286 +#: common/models.py:1290 msgid "Show latest parts" msgstr "" -#: common/models.py:1287 +#: common/models.py:1291 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1293 +#: common/models.py:1297 msgid "Recent Part Count" msgstr "" -#: common/models.py:1294 +#: common/models.py:1298 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1300 +#: common/models.py:1304 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1301 +#: common/models.py:1305 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1311 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1308 +#: common/models.py:1312 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1314 +#: common/models.py:1318 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1315 +#: common/models.py:1319 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1321 +#: common/models.py:1325 msgid "Show low stock" msgstr "" -#: common/models.py:1322 +#: common/models.py:1326 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1332 msgid "Show depleted stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1333 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1339 msgid "Show needed stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1340 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1346 msgid "Show expired stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1347 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1353 msgid "Show stale stock" msgstr "" -#: common/models.py:1350 +#: common/models.py:1354 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1360 msgid "Show pending builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1361 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1367 msgid "Show overdue builds" msgstr "" -#: common/models.py:1364 +#: common/models.py:1368 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1374 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1375 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1381 msgid "Show overdue POs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1382 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1388 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1389 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1391 +#: common/models.py:1395 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1392 +#: common/models.py:1396 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1397 +#: common/models.py:1401 msgid "Enable label printing" msgstr "" -#: common/models.py:1398 +#: common/models.py:1402 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1404 +#: common/models.py:1408 msgid "Inline label display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1409 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1415 msgid "Inline report display" msgstr "" -#: common/models.py:1412 +#: common/models.py:1416 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1418 +#: common/models.py:1422 msgid "Search Parts" msgstr "" -#: common/models.py:1419 +#: common/models.py:1423 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1429 msgid "Search Categories" msgstr "" -#: common/models.py:1426 +#: common/models.py:1430 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1436 msgid "Search Stock" msgstr "" -#: common/models.py:1433 +#: common/models.py:1437 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1443 msgid "Search Locations" msgstr "" -#: common/models.py:1440 +#: common/models.py:1444 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1450 msgid "Search Companies" msgstr "" -#: common/models.py:1447 +#: common/models.py:1451 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1457 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1458 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1464 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1461 +#: common/models.py:1465 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1471 msgid "Search Preview Results" msgstr "" -#: common/models.py:1468 +#: common/models.py:1472 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1478 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1475 +#: common/models.py:1479 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1481 +#: common/models.py:1485 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1482 +#: common/models.py:1486 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1492 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1489 +#: common/models.py:1493 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1495 +#: common/models.py:1499 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1496 +#: common/models.py:1500 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1502 +#: common/models.py:1506 msgid "Date Format" msgstr "" -#: common/models.py:1503 +#: common/models.py:1507 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1521 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1518 +#: common/models.py:1522 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1590 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1583 company/serializers.py:264 +#: common/models.py:1597 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1584 +#: common/models.py:1598 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1755 common/models.py:1892 msgid "Endpoint" msgstr "" -#: common/models.py:1742 +#: common/models.py:1756 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1751 +#: common/models.py:1765 msgid "Name for this webhook" msgstr "" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1770 part/models.py:988 plugin/models.py:49 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2449,67 +2401,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1757 +#: common/models.py:1771 msgid "Is this webhook active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1785 msgid "Token" msgstr "" -#: common/models.py:1772 +#: common/models.py:1786 msgid "Token for access" msgstr "" -#: common/models.py:1779 +#: common/models.py:1793 msgid "Secret" msgstr "" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1847 +#: common/models.py:1859 msgid "Message ID" msgstr "" -#: common/models.py:1848 +#: common/models.py:1860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Host" msgstr "" -#: common/models.py:1857 +#: common/models.py:1869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Header" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Header of this message" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Body" msgstr "" -#: common/models.py:1872 +#: common/models.py:1884 msgid "Body of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1893 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Worked on" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Was the work on this message finished?" msgstr "" @@ -2646,7 +2598,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:612 +#: company/models.py:317 company/models.py:532 stock/models.py:619 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "" @@ -2673,7 +2625,7 @@ msgstr "" #: company/models.py:339 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" @@ -2703,7 +2655,7 @@ msgstr "" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2205 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2732,7 +2684,7 @@ msgstr "" #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2743,7 +2695,7 @@ msgid "Select supplier" msgstr "" #: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" @@ -2780,7 +2732,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: stock/models.py:643 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" @@ -2853,10 +2805,10 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:662 +#: stock/models.py:663 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -3105,7 +3057,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 +#: company/templates/company/supplier_part.html:24 stock/models.py:627 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3372,7 +3324,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" @@ -3429,7 +3381,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "" #: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" @@ -3491,7 +3443,7 @@ msgstr "" #: order/models.py:949 order/models.py:1031 order/models.py:1053 #: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "" @@ -3500,7 +3452,7 @@ msgstr "" #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" @@ -3511,7 +3463,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" @@ -3521,7 +3473,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3876,7 +3828,7 @@ msgstr "" #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3967,7 +3919,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "" @@ -4049,19 +4001,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1045 +#: part/api.py:1037 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1049 +#: part/api.py:1041 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1064 +#: part/api.py:1056 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 msgid "This field is required" msgstr "" @@ -5115,7 +5067,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5496,6 +5448,58 @@ msgstr "" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "Ingen åtgärd specificerad" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "Ingen matchande åtgärd hittades" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 +msgid "Must provide barcode_data parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:129 +msgid "No match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:131 +msgid "Match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:156 +msgid "Must provide stockitem parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:163 +msgid "No matching stock item found" +msgstr "" + +#: plugin/base/barcodes/api.py:193 +msgid "Barcode already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:197 +msgid "Barcode already matches Stock Location" +msgstr "" + +#: plugin/base/barcodes/api.py:201 +msgid "Barcode already matches Part" +msgstr "" + +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 +msgid "Barcode hash already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:225 +msgid "Barcode associated with Stock Item" +msgstr "" + +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5514,50 +5518,46 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:226 -msgid "Label printing failed" -msgstr "" - -#: plugin/integration.py:146 -msgid "No author found" -msgstr "" - -#: plugin/integration.py:160 -msgid "No date found" -msgstr "" - -#: plugin/models.py:27 +#: plugin/models.py:29 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:30 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:35 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:36 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:44 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:50 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:123 msgid "Plugin" msgstr "" -#: plugin/models.py:176 +#: plugin/models.py:197 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "" @@ -5724,12 +5724,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:667 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "" @@ -5738,19 +5738,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2193 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2199 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "" @@ -5785,12 +5785,12 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:94 stock/models.py:762 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:95 stock/models.py:763 msgid "Select Owner" msgstr "" @@ -5819,203 +5819,203 @@ msgstr "" msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:561 +#: stock/models.py:568 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:604 +#: stock/models.py:611 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:613 +#: stock/models.py:620 msgid "Base part" msgstr "" -#: stock/models.py:621 +#: stock/models.py:628 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:634 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:630 +#: stock/models.py:637 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:637 +#: stock/models.py:644 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:650 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "" -#: stock/models.py:646 +#: stock/models.py:653 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:662 +#: stock/models.py:669 msgid "Serial number for this item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:683 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:681 +#: stock/models.py:688 msgid "Stock Quantity" msgstr "" -#: stock/models.py:690 +#: stock/models.py:697 msgid "Source Build" msgstr "" -#: stock/models.py:692 +#: stock/models.py:699 msgid "Build for this stock item" msgstr "" -#: stock/models.py:703 +#: stock/models.py:710 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:706 +#: stock/models.py:713 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:712 +#: stock/models.py:719 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:725 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:719 +#: stock/models.py:726 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete on deplete" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:749 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:751 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:783 +#: stock/models.py:790 msgid "Converted to part" msgstr "" -#: stock/models.py:1303 +#: stock/models.py:1310 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1309 +#: stock/models.py:1316 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1315 +#: stock/models.py:1322 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1318 +#: stock/models.py:1325 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1328 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1335 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1399 +#: stock/models.py:1406 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1402 +#: stock/models.py:1409 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1405 +#: stock/models.py:1412 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1408 +#: stock/models.py:1415 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1411 +#: stock/models.py:1418 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1414 +#: stock/models.py:1421 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1428 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1429 +#: stock/models.py:1436 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1440 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1605 +#: stock/models.py:1612 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2106 +#: stock/models.py:2113 msgid "Entry notes" msgstr "" -#: stock/models.py:2163 +#: stock/models.py:2170 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2169 +#: stock/models.py:2176 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2187 +#: stock/models.py:2194 msgid "Test name" msgstr "" -#: stock/models.py:2193 +#: stock/models.py:2200 msgid "Test result" msgstr "" -#: stock/models.py:2199 +#: stock/models.py:2206 msgid "Test output value" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2213 msgid "Test result attachment" msgstr "" -#: stock/models.py:2212 +#: stock/models.py:2219 msgid "Test notes" msgstr "" @@ -8094,12 +8094,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "" @@ -8128,11 +8128,11 @@ msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "" @@ -8140,21 +8140,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "" @@ -8166,7 +8166,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8174,11 +8174,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "" @@ -8759,209 +8759,209 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index 81e3d47e7c..d1a41d4de9 100644 --- a/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/InvenTree/locale/th/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-10 04:16+0000\n" -"PO-Revision-Date: 2022-05-11 00:29\n" +"POT-Creation-Date: 2022-05-15 23:30+0000\n" +"PO-Revision-Date: 2022-05-16 01:10\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -17,18 +17,10 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:53 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "" - #: InvenTree/fields.py:100 msgid "Enter date" msgstr "" @@ -128,7 +120,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2212 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "" @@ -146,7 +138,7 @@ msgid "Link" msgstr "" #: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: stock/models.py:677 msgid "Link to external URL" msgstr "" @@ -158,10 +150,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 +#: common/models.py:1547 common/models.py:1778 common/models.py:1779 +#: common/models.py:2006 common/models.py:2007 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -200,9 +192,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 #: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: part/models.py:2555 plugin/models.py:43 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -230,8 +222,8 @@ msgstr "" #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -440,7 +432,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "" @@ -616,46 +608,6 @@ msgstr "" msgid "System Information" msgstr "" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "" @@ -687,8 +639,8 @@ msgstr "" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 +#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 msgid "Reference" msgstr "" @@ -727,8 +679,8 @@ msgstr "" #: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -750,7 +702,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" @@ -791,7 +743,7 @@ msgid "Build status code" msgstr "" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: stock/models.py:681 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" @@ -800,7 +752,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" @@ -834,7 +786,7 @@ msgstr "" #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" @@ -845,7 +797,7 @@ msgstr "" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 +#: part/templates/part/part_base.html:346 stock/models.py:675 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "" @@ -858,14 +810,14 @@ msgstr "" #: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 +#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "" @@ -928,9 +880,9 @@ msgstr "" #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" @@ -942,7 +894,7 @@ msgstr "" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 +#: build/templates/build/detail.html:34 common/models.py:1589 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 @@ -964,10 +916,10 @@ msgstr "" #: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -1015,7 +967,7 @@ msgstr "" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "" @@ -1060,8 +1012,8 @@ msgstr "" #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 @@ -1076,8 +1028,8 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "" @@ -1278,9 +1230,9 @@ msgstr "" #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "" @@ -1314,7 +1266,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1350,7 +1302,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1592,856 +1544,856 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:387 +#: common/models.py:401 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:389 +#: common/models.py:403 msgid "Settings value" msgstr "" -#: common/models.py:430 +#: common/models.py:444 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:450 +#: common/models.py:464 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:461 +#: common/models.py:475 msgid "Value must be an integer value" msgstr "" -#: common/models.py:510 +#: common/models.py:524 msgid "Key string must be unique" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "No group" msgstr "" -#: common/models.py:784 +#: common/models.py:788 msgid "Restart required" msgstr "" -#: common/models.py:785 +#: common/models.py:789 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:792 +#: common/models.py:796 msgid "Server Instance Name" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:798 +#: common/models.py:802 msgid "Use instance name" msgstr "" -#: common/models.py:799 +#: common/models.py:803 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:805 +#: common/models.py:809 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:816 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Internal company name" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Base URL" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Base URL for server instance" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Default Currency" msgstr "" -#: common/models.py:826 +#: common/models.py:830 msgid "Default currency" msgstr "" -#: common/models.py:832 +#: common/models.py:836 msgid "Download from URL" msgstr "" -#: common/models.py:833 +#: common/models.py:837 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:840 +#: common/models.py:844 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:846 +#: common/models.py:850 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:851 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:857 msgid "IPN Regex" msgstr "" -#: common/models.py:854 +#: common/models.py:858 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:858 +#: common/models.py:862 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:859 +#: common/models.py:863 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:865 +#: common/models.py:869 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:866 +#: common/models.py:870 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:872 +#: common/models.py:876 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:873 +#: common/models.py:877 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:883 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:880 +#: common/models.py:884 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:886 +#: common/models.py:890 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:887 +#: common/models.py:891 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:893 +#: common/models.py:897 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:894 +#: common/models.py:898 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:904 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:901 +#: common/models.py:905 msgid "Parts are templates by default" msgstr "" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:908 +#: common/models.py:912 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:914 part/models.py:967 +#: common/models.py:918 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:915 +#: common/models.py:919 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:921 part/models.py:978 +#: common/models.py:925 part/models.py:978 msgid "Purchaseable" msgstr "" -#: common/models.py:922 +#: common/models.py:926 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:928 part/models.py:983 +#: common/models.py:932 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:929 +#: common/models.py:933 msgid "Parts are salable by default" msgstr "" -#: common/models.py:935 part/models.py:973 +#: common/models.py:939 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:936 +#: common/models.py:940 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:942 part/models.py:993 +#: common/models.py:946 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:943 +#: common/models.py:947 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:949 +#: common/models.py:953 msgid "Show Import in Views" msgstr "" -#: common/models.py:950 +#: common/models.py:954 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:956 +#: common/models.py:960 msgid "Show Price in Forms" msgstr "" -#: common/models.py:957 +#: common/models.py:961 msgid "Display part price in some forms" msgstr "" -#: common/models.py:968 +#: common/models.py:972 msgid "Show Price in BOM" msgstr "" -#: common/models.py:969 +#: common/models.py:973 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:980 +#: common/models.py:984 msgid "Show Price History" msgstr "" -#: common/models.py:981 +#: common/models.py:985 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:987 +#: common/models.py:991 msgid "Show related parts" msgstr "" -#: common/models.py:988 +#: common/models.py:992 msgid "Display related parts for a part" msgstr "" -#: common/models.py:994 +#: common/models.py:998 msgid "Create initial stock" msgstr "" -#: common/models.py:995 +#: common/models.py:999 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1001 +#: common/models.py:1005 msgid "Internal Prices" msgstr "" -#: common/models.py:1002 +#: common/models.py:1006 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1008 +#: common/models.py:1012 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1009 +#: common/models.py:1013 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1015 +#: common/models.py:1019 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1016 +#: common/models.py:1020 msgid "Format to display the part name" msgstr "" -#: common/models.py:1023 +#: common/models.py:1027 msgid "Enable Reports" msgstr "" -#: common/models.py:1024 +#: common/models.py:1028 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1034 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1031 +#: common/models.py:1035 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1037 +#: common/models.py:1041 msgid "Page Size" msgstr "" -#: common/models.py:1038 +#: common/models.py:1042 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1048 +#: common/models.py:1052 msgid "Test Reports" msgstr "" -#: common/models.py:1049 +#: common/models.py:1053 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1055 +#: common/models.py:1059 msgid "Batch Code Template" msgstr "" -#: common/models.py:1056 +#: common/models.py:1060 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1061 +#: common/models.py:1065 msgid "Stock Expiry" msgstr "" -#: common/models.py:1062 +#: common/models.py:1066 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1068 +#: common/models.py:1072 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1069 +#: common/models.py:1073 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1075 +#: common/models.py:1079 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1076 +#: common/models.py:1080 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1078 +#: common/models.py:1082 msgid "days" msgstr "" -#: common/models.py:1083 +#: common/models.py:1087 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1084 +#: common/models.py:1088 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1090 +#: common/models.py:1094 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1091 +#: common/models.py:1095 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1097 +#: common/models.py:1101 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1098 +#: common/models.py:1102 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1103 +#: common/models.py:1107 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1104 +#: common/models.py:1108 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1108 +#: common/models.py:1112 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1109 +#: common/models.py:1113 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1118 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1115 +#: common/models.py:1119 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1121 +#: common/models.py:1125 msgid "Enable password forgot" msgstr "" -#: common/models.py:1122 +#: common/models.py:1126 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1128 +#: common/models.py:1132 msgid "Enable registration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1133 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1135 +#: common/models.py:1139 msgid "Enable SSO" msgstr "" -#: common/models.py:1136 +#: common/models.py:1140 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1142 +#: common/models.py:1146 msgid "Email required" msgstr "" -#: common/models.py:1143 +#: common/models.py:1147 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1149 +#: common/models.py:1153 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1150 +#: common/models.py:1154 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1156 +#: common/models.py:1160 msgid "Mail twice" msgstr "" -#: common/models.py:1157 +#: common/models.py:1161 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1163 +#: common/models.py:1167 msgid "Password twice" msgstr "" -#: common/models.py:1164 +#: common/models.py:1168 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1170 +#: common/models.py:1174 msgid "Group on signup" msgstr "" -#: common/models.py:1171 +#: common/models.py:1175 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1177 +#: common/models.py:1181 msgid "Enforce MFA" msgstr "" -#: common/models.py:1178 +#: common/models.py:1182 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1184 +#: common/models.py:1188 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1185 +#: common/models.py:1189 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1193 +#: common/models.py:1197 msgid "Enable URL integration" msgstr "" -#: common/models.py:1194 +#: common/models.py:1198 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1201 +#: common/models.py:1205 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1202 +#: common/models.py:1206 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1209 +#: common/models.py:1213 msgid "Enable app integration" msgstr "" -#: common/models.py:1210 +#: common/models.py:1214 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1217 +#: common/models.py:1221 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1218 +#: common/models.py:1222 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1225 +#: common/models.py:1229 msgid "Enable event integration" msgstr "" -#: common/models.py:1226 +#: common/models.py:1230 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1245 common/models.py:1539 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1272 +#: common/models.py:1276 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1273 +#: common/models.py:1277 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1279 +#: common/models.py:1283 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1280 +#: common/models.py:1284 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1286 +#: common/models.py:1290 msgid "Show latest parts" msgstr "" -#: common/models.py:1287 +#: common/models.py:1291 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1293 +#: common/models.py:1297 msgid "Recent Part Count" msgstr "" -#: common/models.py:1294 +#: common/models.py:1298 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1300 +#: common/models.py:1304 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1301 +#: common/models.py:1305 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1311 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1308 +#: common/models.py:1312 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1314 +#: common/models.py:1318 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1315 +#: common/models.py:1319 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1321 +#: common/models.py:1325 msgid "Show low stock" msgstr "" -#: common/models.py:1322 +#: common/models.py:1326 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1332 msgid "Show depleted stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1333 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1339 msgid "Show needed stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1340 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1346 msgid "Show expired stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1347 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1353 msgid "Show stale stock" msgstr "" -#: common/models.py:1350 +#: common/models.py:1354 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1360 msgid "Show pending builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1361 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1367 msgid "Show overdue builds" msgstr "" -#: common/models.py:1364 +#: common/models.py:1368 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1374 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1375 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1381 msgid "Show overdue POs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1382 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1388 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1389 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1391 +#: common/models.py:1395 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1392 +#: common/models.py:1396 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1397 +#: common/models.py:1401 msgid "Enable label printing" msgstr "" -#: common/models.py:1398 +#: common/models.py:1402 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1404 +#: common/models.py:1408 msgid "Inline label display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1409 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1415 msgid "Inline report display" msgstr "" -#: common/models.py:1412 +#: common/models.py:1416 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1418 +#: common/models.py:1422 msgid "Search Parts" msgstr "" -#: common/models.py:1419 +#: common/models.py:1423 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1429 msgid "Search Categories" msgstr "" -#: common/models.py:1426 +#: common/models.py:1430 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1436 msgid "Search Stock" msgstr "" -#: common/models.py:1433 +#: common/models.py:1437 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1443 msgid "Search Locations" msgstr "" -#: common/models.py:1440 +#: common/models.py:1444 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1450 msgid "Search Companies" msgstr "" -#: common/models.py:1447 +#: common/models.py:1451 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1457 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1458 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1464 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1461 +#: common/models.py:1465 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1471 msgid "Search Preview Results" msgstr "" -#: common/models.py:1468 +#: common/models.py:1472 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1478 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1475 +#: common/models.py:1479 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1481 +#: common/models.py:1485 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1482 +#: common/models.py:1486 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1492 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1489 +#: common/models.py:1493 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1495 +#: common/models.py:1499 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1496 +#: common/models.py:1500 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1502 +#: common/models.py:1506 msgid "Date Format" msgstr "" -#: common/models.py:1503 +#: common/models.py:1507 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1521 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1518 +#: common/models.py:1522 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1590 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1583 company/serializers.py:264 +#: common/models.py:1597 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1584 +#: common/models.py:1598 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1755 common/models.py:1892 msgid "Endpoint" msgstr "" -#: common/models.py:1742 +#: common/models.py:1756 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1751 +#: common/models.py:1765 msgid "Name for this webhook" msgstr "" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1770 part/models.py:988 plugin/models.py:49 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2449,67 +2401,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1757 +#: common/models.py:1771 msgid "Is this webhook active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1785 msgid "Token" msgstr "" -#: common/models.py:1772 +#: common/models.py:1786 msgid "Token for access" msgstr "" -#: common/models.py:1779 +#: common/models.py:1793 msgid "Secret" msgstr "" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1847 +#: common/models.py:1859 msgid "Message ID" msgstr "" -#: common/models.py:1848 +#: common/models.py:1860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Host" msgstr "" -#: common/models.py:1857 +#: common/models.py:1869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Header" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Header of this message" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Body" msgstr "" -#: common/models.py:1872 +#: common/models.py:1884 msgid "Body of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1893 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Worked on" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Was the work on this message finished?" msgstr "" @@ -2646,7 +2598,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:612 +#: company/models.py:317 company/models.py:532 stock/models.py:619 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "" @@ -2673,7 +2625,7 @@ msgstr "" #: company/models.py:339 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" @@ -2703,7 +2655,7 @@ msgstr "" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2205 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2732,7 +2684,7 @@ msgstr "" #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2743,7 +2695,7 @@ msgid "Select supplier" msgstr "" #: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" @@ -2780,7 +2732,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: stock/models.py:643 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" @@ -2853,10 +2805,10 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:662 +#: stock/models.py:663 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -3105,7 +3057,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 +#: company/templates/company/supplier_part.html:24 stock/models.py:627 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3372,7 +3324,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" @@ -3429,7 +3381,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "" #: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" @@ -3491,7 +3443,7 @@ msgstr "" #: order/models.py:949 order/models.py:1031 order/models.py:1053 #: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "" @@ -3500,7 +3452,7 @@ msgstr "" #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" @@ -3511,7 +3463,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" @@ -3521,7 +3473,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3876,7 +3828,7 @@ msgstr "" #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3967,7 +3919,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "" @@ -4049,19 +4001,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1045 +#: part/api.py:1037 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1049 +#: part/api.py:1041 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1064 +#: part/api.py:1056 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 msgid "This field is required" msgstr "" @@ -5115,7 +5067,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5496,6 +5448,58 @@ msgstr "" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 +msgid "Must provide barcode_data parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:129 +msgid "No match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:131 +msgid "Match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:156 +msgid "Must provide stockitem parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:163 +msgid "No matching stock item found" +msgstr "" + +#: plugin/base/barcodes/api.py:193 +msgid "Barcode already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:197 +msgid "Barcode already matches Stock Location" +msgstr "" + +#: plugin/base/barcodes/api.py:201 +msgid "Barcode already matches Part" +msgstr "" + +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 +msgid "Barcode hash already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:225 +msgid "Barcode associated with Stock Item" +msgstr "" + +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5514,50 +5518,46 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:226 -msgid "Label printing failed" -msgstr "" - -#: plugin/integration.py:146 -msgid "No author found" -msgstr "" - -#: plugin/integration.py:160 -msgid "No date found" -msgstr "" - -#: plugin/models.py:27 +#: plugin/models.py:29 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:30 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:35 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:36 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:44 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:50 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:123 msgid "Plugin" msgstr "" -#: plugin/models.py:176 +#: plugin/models.py:197 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "" @@ -5724,12 +5724,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:667 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "" @@ -5738,19 +5738,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2193 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2199 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "" @@ -5785,12 +5785,12 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:94 stock/models.py:762 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:95 stock/models.py:763 msgid "Select Owner" msgstr "" @@ -5819,203 +5819,203 @@ msgstr "" msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:561 +#: stock/models.py:568 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:604 +#: stock/models.py:611 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:613 +#: stock/models.py:620 msgid "Base part" msgstr "" -#: stock/models.py:621 +#: stock/models.py:628 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:634 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:630 +#: stock/models.py:637 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:637 +#: stock/models.py:644 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:650 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "" -#: stock/models.py:646 +#: stock/models.py:653 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:662 +#: stock/models.py:669 msgid "Serial number for this item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:683 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:681 +#: stock/models.py:688 msgid "Stock Quantity" msgstr "" -#: stock/models.py:690 +#: stock/models.py:697 msgid "Source Build" msgstr "" -#: stock/models.py:692 +#: stock/models.py:699 msgid "Build for this stock item" msgstr "" -#: stock/models.py:703 +#: stock/models.py:710 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:706 +#: stock/models.py:713 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:712 +#: stock/models.py:719 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:725 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:719 +#: stock/models.py:726 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete on deplete" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:749 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:751 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:783 +#: stock/models.py:790 msgid "Converted to part" msgstr "" -#: stock/models.py:1303 +#: stock/models.py:1310 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1309 +#: stock/models.py:1316 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1315 +#: stock/models.py:1322 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1318 +#: stock/models.py:1325 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1328 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1335 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1399 +#: stock/models.py:1406 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1402 +#: stock/models.py:1409 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1405 +#: stock/models.py:1412 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1408 +#: stock/models.py:1415 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1411 +#: stock/models.py:1418 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1414 +#: stock/models.py:1421 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1428 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1429 +#: stock/models.py:1436 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1440 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1605 +#: stock/models.py:1612 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2106 +#: stock/models.py:2113 msgid "Entry notes" msgstr "" -#: stock/models.py:2163 +#: stock/models.py:2170 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2169 +#: stock/models.py:2176 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2187 +#: stock/models.py:2194 msgid "Test name" msgstr "" -#: stock/models.py:2193 +#: stock/models.py:2200 msgid "Test result" msgstr "" -#: stock/models.py:2199 +#: stock/models.py:2206 msgid "Test output value" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2213 msgid "Test result attachment" msgstr "" -#: stock/models.py:2212 +#: stock/models.py:2219 msgid "Test notes" msgstr "" @@ -8094,12 +8094,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "" @@ -8128,11 +8128,11 @@ msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "" @@ -8140,21 +8140,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "" @@ -8166,7 +8166,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8174,11 +8174,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "" @@ -8759,209 +8759,209 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index 62ad38a600..a23ce3d433 100644 --- a/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/InvenTree/locale/tr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-10 04:16+0000\n" -"PO-Revision-Date: 2022-05-11 00:28\n" +"POT-Creation-Date: 2022-05-15 23:30+0000\n" +"PO-Revision-Date: 2022-05-16 01:10\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -17,18 +17,10 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:53 msgid "API endpoint not found" msgstr "API uç noktası bulunamadı" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "İşlem belirtilmedi" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "Eşleşen eylem bulunamadı" - #: InvenTree/fields.py:100 msgid "Enter date" msgstr "Tarih giriniz" @@ -128,7 +120,7 @@ msgstr "Eksik dosya" msgid "Missing external link" msgstr "Bozuk dış bağlantı" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2212 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "Ek" @@ -146,7 +138,7 @@ msgid "Link" msgstr "Bağlantı" #: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: stock/models.py:677 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" @@ -158,10 +150,10 @@ msgstr "Yorum" msgid "File comment" msgstr "Dosya yorumu" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 +#: common/models.py:1547 common/models.py:1778 common/models.py:1779 +#: common/models.py:2006 common/models.py:2007 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -200,9 +192,9 @@ msgstr "Dosya adı değiştirilirken hata" msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 #: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: part/models.py:2555 plugin/models.py:43 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -230,8 +222,8 @@ msgstr "Adı" #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -440,7 +432,7 @@ msgid "Returned" msgstr "İade" #: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "Sevk edildi" @@ -616,46 +608,6 @@ msgstr "Parola alanları eşleşmelidir" msgid "System Information" msgstr "Sistem Bilgisi" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "Barcode_data parametresini sağlamalıdır" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "Barkod verisi için eşleşme bulunamadı" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "Barkod verisi için eşleşme bulundu" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "Stok kalemi parametresi sağlamalıdır" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "Eşleşen stok kalemi bulunamadı" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "" @@ -687,8 +639,8 @@ msgstr "Yapım İşi Emri Referansı" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 +#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 msgid "Reference" msgstr "Referans" @@ -727,8 +679,8 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -750,7 +702,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği satış emri" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "Kaynak Konum" @@ -791,7 +743,7 @@ msgid "Build status code" msgstr "Yapım işi durum kodu" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: stock/models.py:681 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "Sıra numarası" @@ -800,7 +752,7 @@ msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" #: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "Oluşturulma tarihi" @@ -834,7 +786,7 @@ msgstr "Bu yapım işi emrini veren kullanıcı" #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "Sorumlu" @@ -845,7 +797,7 @@ msgstr "Bu yapım işi emrinden sorumlu kullanıcı" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 +#: part/templates/part/part_base.html:346 stock/models.py:675 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "Harici Bağlantı" @@ -858,14 +810,14 @@ msgstr "Harici Bağlantı" #: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 +#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "Notlar" @@ -928,9 +880,9 @@ msgstr "Yapım işi için tahsis edilen parçalar" #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" @@ -942,7 +894,7 @@ msgstr "Kaynak stok kalemi" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 +#: build/templates/build/detail.html:34 common/models.py:1589 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 @@ -964,10 +916,10 @@ msgstr "Kaynak stok kalemi" #: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -1015,7 +967,7 @@ msgstr "Yapım işi çıktısı için miktarını girin" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "" @@ -1060,8 +1012,8 @@ msgstr "" #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 @@ -1076,8 +1028,8 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "Durum" @@ -1278,9 +1230,9 @@ msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi" #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "Hedeflenen tarih" @@ -1314,7 +1266,7 @@ msgstr "Tamamlandı" #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "Sipariş Emri" @@ -1350,7 +1302,7 @@ msgid "Stock can be taken from any available location." msgstr "Stok herhangi bir konumdan alınabilir." #: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "Hedef" @@ -1592,856 +1544,856 @@ msgstr "{name.title()} Dosya" msgid "Select {name} file to upload" msgstr "{name} dosyasını yüklemek için seçin" -#: common/models.py:387 +#: common/models.py:401 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:389 +#: common/models.py:403 msgid "Settings value" msgstr "" -#: common/models.py:430 +#: common/models.py:444 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:450 +#: common/models.py:464 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:461 +#: common/models.py:475 msgid "Value must be an integer value" msgstr "" -#: common/models.py:510 +#: common/models.py:524 msgid "Key string must be unique" msgstr "Anahtar dizesi benzersiz olmalı" -#: common/models.py:742 +#: common/models.py:746 msgid "No group" msgstr "" -#: common/models.py:784 +#: common/models.py:788 msgid "Restart required" msgstr "" -#: common/models.py:785 +#: common/models.py:789 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:792 +#: common/models.py:796 msgid "Server Instance Name" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:798 +#: common/models.py:802 msgid "Use instance name" msgstr "" -#: common/models.py:799 +#: common/models.py:803 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:805 +#: common/models.py:809 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:816 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "Şirket adı" -#: common/models.py:813 +#: common/models.py:817 msgid "Internal company name" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Base URL" msgstr "Ana URL" -#: common/models.py:819 +#: common/models.py:823 msgid "Base URL for server instance" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Default Currency" msgstr "Varsayılan Para Birimi" -#: common/models.py:826 +#: common/models.py:830 msgid "Default currency" msgstr "Varsayılan para birimi" -#: common/models.py:832 +#: common/models.py:836 msgid "Download from URL" msgstr "URL'den indir" -#: common/models.py:833 +#: common/models.py:837 msgid "Allow download of remote images and files from external URL" msgstr "Harici URL'den resim ve dosyaların indirilmesine izin ver" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Barkod Desteği" -#: common/models.py:840 +#: common/models.py:844 msgid "Enable barcode scanner support" msgstr "Barkod tarayıcı desteğini etkinleştir" -#: common/models.py:846 +#: common/models.py:850 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:851 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:857 msgid "IPN Regex" msgstr "DPN Regex" -#: common/models.py:854 +#: common/models.py:858 msgid "Regular expression pattern for matching Part IPN" msgstr "Parça DPN eşleştirmesi için Düzenli İfade Kalıbı (Regex)" -#: common/models.py:858 +#: common/models.py:862 msgid "Allow Duplicate IPN" msgstr "Yinelenen DPN'ye İzin Ver" -#: common/models.py:859 +#: common/models.py:863 msgid "Allow multiple parts to share the same IPN" msgstr "Birden çok parçanın aynı DPN'yi paylaşmasına izin ver" -#: common/models.py:865 +#: common/models.py:869 msgid "Allow Editing IPN" msgstr "DPN Düzenlemeye İzin Ver" -#: common/models.py:866 +#: common/models.py:870 msgid "Allow changing the IPN value while editing a part" msgstr "Parçayı düzenlerken DPN değiştirmeye izin ver" -#: common/models.py:872 +#: common/models.py:876 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:873 +#: common/models.py:877 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:883 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:880 +#: common/models.py:884 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:886 +#: common/models.py:890 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:887 +#: common/models.py:891 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:893 +#: common/models.py:897 msgid "Copy Category Parameter Templates" msgstr "Kategori Paremetre Sablonu Kopyala" -#: common/models.py:894 +#: common/models.py:898 msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:904 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Şablon" -#: common/models.py:901 +#: common/models.py:905 msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Montaj" -#: common/models.py:908 +#: common/models.py:912 msgid "Parts can be assembled from other components by default" msgstr "Parçalar varsayılan olarak başka bileşenlerden monte edilebilir" -#: common/models.py:914 part/models.py:967 +#: common/models.py:918 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Bileşen" -#: common/models.py:915 +#: common/models.py:919 msgid "Parts can be used as sub-components by default" msgstr "Parçalar varsayılan olarak alt bileşen olarak kullanılabilir" -#: common/models.py:921 part/models.py:978 +#: common/models.py:925 part/models.py:978 msgid "Purchaseable" msgstr "Satın Alınabilir" -#: common/models.py:922 +#: common/models.py:926 msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/models.py:928 part/models.py:983 +#: common/models.py:932 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Satılabilir" -#: common/models.py:929 +#: common/models.py:933 msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/models.py:935 part/models.py:973 +#: common/models.py:939 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Takip Edilebilir" -#: common/models.py:936 +#: common/models.py:940 msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/models.py:942 part/models.py:993 +#: common/models.py:946 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Sanal" -#: common/models.py:943 +#: common/models.py:947 msgid "Parts are virtual by default" msgstr "Parçalar varsayılan olarak sanaldır" -#: common/models.py:949 +#: common/models.py:953 msgid "Show Import in Views" msgstr "" -#: common/models.py:950 +#: common/models.py:954 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:956 +#: common/models.py:960 msgid "Show Price in Forms" msgstr "Formlarda Fiyat Göster" -#: common/models.py:957 +#: common/models.py:961 msgid "Display part price in some forms" msgstr "" -#: common/models.py:968 +#: common/models.py:972 msgid "Show Price in BOM" msgstr "" -#: common/models.py:969 +#: common/models.py:973 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:980 +#: common/models.py:984 msgid "Show Price History" msgstr "" -#: common/models.py:981 +#: common/models.py:985 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:987 +#: common/models.py:991 msgid "Show related parts" msgstr "İlgili parçaları göster" -#: common/models.py:988 +#: common/models.py:992 msgid "Display related parts for a part" msgstr "" -#: common/models.py:994 +#: common/models.py:998 msgid "Create initial stock" msgstr "" -#: common/models.py:995 +#: common/models.py:999 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1001 +#: common/models.py:1005 msgid "Internal Prices" msgstr "" -#: common/models.py:1002 +#: common/models.py:1006 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1008 +#: common/models.py:1012 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1009 +#: common/models.py:1013 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1015 +#: common/models.py:1019 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1016 +#: common/models.py:1020 msgid "Format to display the part name" msgstr "" -#: common/models.py:1023 +#: common/models.py:1027 msgid "Enable Reports" msgstr "" -#: common/models.py:1024 +#: common/models.py:1028 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1034 templates/stats.html:25 msgid "Debug Mode" msgstr "Hata Ayıklama Modu" -#: common/models.py:1031 +#: common/models.py:1035 msgid "Generate reports in debug mode (HTML output)" msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)" -#: common/models.py:1037 +#: common/models.py:1041 msgid "Page Size" msgstr "Sayfa Boyutu" -#: common/models.py:1038 +#: common/models.py:1042 msgid "Default page size for PDF reports" msgstr "PDF raporlar için varsayılan sayfa boyutu" -#: common/models.py:1048 +#: common/models.py:1052 msgid "Test Reports" msgstr "Test Raporları" -#: common/models.py:1049 +#: common/models.py:1053 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1055 +#: common/models.py:1059 msgid "Batch Code Template" msgstr "" -#: common/models.py:1056 +#: common/models.py:1060 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1061 +#: common/models.py:1065 msgid "Stock Expiry" msgstr "" -#: common/models.py:1062 +#: common/models.py:1066 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1068 +#: common/models.py:1072 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1069 +#: common/models.py:1073 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1075 +#: common/models.py:1079 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1076 +#: common/models.py:1080 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1078 +#: common/models.py:1082 msgid "days" msgstr "günler" -#: common/models.py:1083 +#: common/models.py:1087 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1084 +#: common/models.py:1088 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1090 +#: common/models.py:1094 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1091 +#: common/models.py:1095 msgid "Enable ownership control over stock locations and items" msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin" -#: common/models.py:1097 +#: common/models.py:1101 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1098 +#: common/models.py:1102 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1103 +#: common/models.py:1107 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1104 +#: common/models.py:1108 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1108 +#: common/models.py:1112 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1109 +#: common/models.py:1113 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1118 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1115 +#: common/models.py:1119 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1121 +#: common/models.py:1125 msgid "Enable password forgot" msgstr "" -#: common/models.py:1122 +#: common/models.py:1126 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1128 +#: common/models.py:1132 msgid "Enable registration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1133 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1135 +#: common/models.py:1139 msgid "Enable SSO" msgstr "" -#: common/models.py:1136 +#: common/models.py:1140 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1142 +#: common/models.py:1146 msgid "Email required" msgstr "" -#: common/models.py:1143 +#: common/models.py:1147 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1149 +#: common/models.py:1153 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1150 +#: common/models.py:1154 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1156 +#: common/models.py:1160 msgid "Mail twice" msgstr "" -#: common/models.py:1157 +#: common/models.py:1161 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1163 +#: common/models.py:1167 msgid "Password twice" msgstr "" -#: common/models.py:1164 +#: common/models.py:1168 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1170 +#: common/models.py:1174 msgid "Group on signup" msgstr "" -#: common/models.py:1171 +#: common/models.py:1175 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1177 +#: common/models.py:1181 msgid "Enforce MFA" msgstr "" -#: common/models.py:1178 +#: common/models.py:1182 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1184 +#: common/models.py:1188 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1185 +#: common/models.py:1189 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1193 +#: common/models.py:1197 msgid "Enable URL integration" msgstr "" -#: common/models.py:1194 +#: common/models.py:1198 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1201 +#: common/models.py:1205 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1202 +#: common/models.py:1206 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1209 +#: common/models.py:1213 msgid "Enable app integration" msgstr "" -#: common/models.py:1210 +#: common/models.py:1214 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1217 +#: common/models.py:1221 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1218 +#: common/models.py:1222 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1225 +#: common/models.py:1229 msgid "Enable event integration" msgstr "" -#: common/models.py:1226 +#: common/models.py:1230 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1245 common/models.py:1539 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1272 +#: common/models.py:1276 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1273 +#: common/models.py:1277 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1279 +#: common/models.py:1283 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1280 +#: common/models.py:1284 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1286 +#: common/models.py:1290 msgid "Show latest parts" msgstr "" -#: common/models.py:1287 +#: common/models.py:1291 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1293 +#: common/models.py:1297 msgid "Recent Part Count" msgstr "" -#: common/models.py:1294 +#: common/models.py:1298 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1300 +#: common/models.py:1304 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1301 +#: common/models.py:1305 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1311 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1308 +#: common/models.py:1312 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1314 +#: common/models.py:1318 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1315 +#: common/models.py:1319 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1321 +#: common/models.py:1325 msgid "Show low stock" msgstr "" -#: common/models.py:1322 +#: common/models.py:1326 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1332 msgid "Show depleted stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1333 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1339 msgid "Show needed stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1340 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1346 msgid "Show expired stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1347 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1353 msgid "Show stale stock" msgstr "" -#: common/models.py:1350 +#: common/models.py:1354 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1360 msgid "Show pending builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1361 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1367 msgid "Show overdue builds" msgstr "" -#: common/models.py:1364 +#: common/models.py:1368 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1374 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1375 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1381 msgid "Show overdue POs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1382 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1388 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1389 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1391 +#: common/models.py:1395 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1392 +#: common/models.py:1396 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1397 +#: common/models.py:1401 msgid "Enable label printing" msgstr "" -#: common/models.py:1398 +#: common/models.py:1402 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1404 +#: common/models.py:1408 msgid "Inline label display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1409 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1415 msgid "Inline report display" msgstr "" -#: common/models.py:1412 +#: common/models.py:1416 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1418 +#: common/models.py:1422 msgid "Search Parts" msgstr "" -#: common/models.py:1419 +#: common/models.py:1423 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1429 msgid "Search Categories" msgstr "" -#: common/models.py:1426 +#: common/models.py:1430 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1436 msgid "Search Stock" msgstr "" -#: common/models.py:1433 +#: common/models.py:1437 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1443 msgid "Search Locations" msgstr "" -#: common/models.py:1440 +#: common/models.py:1444 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1450 msgid "Search Companies" msgstr "" -#: common/models.py:1447 +#: common/models.py:1451 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1457 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1458 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1464 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1461 +#: common/models.py:1465 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1471 msgid "Search Preview Results" msgstr "" -#: common/models.py:1468 +#: common/models.py:1472 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1478 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1475 +#: common/models.py:1479 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1481 +#: common/models.py:1485 msgid "Show Quantity in Forms" msgstr "Formlarda Miktarı Göster" -#: common/models.py:1482 +#: common/models.py:1486 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1492 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1489 +#: common/models.py:1493 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1495 +#: common/models.py:1499 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1496 +#: common/models.py:1500 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1502 +#: common/models.py:1506 msgid "Date Format" msgstr "" -#: common/models.py:1503 +#: common/models.py:1507 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1521 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1518 +#: common/models.py:1522 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1590 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1583 company/serializers.py:264 +#: common/models.py:1597 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "Fiyat" -#: common/models.py:1584 +#: common/models.py:1598 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1755 common/models.py:1892 msgid "Endpoint" msgstr "" -#: common/models.py:1742 +#: common/models.py:1756 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1751 +#: common/models.py:1765 msgid "Name for this webhook" msgstr "" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1770 part/models.py:988 plugin/models.py:49 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2449,67 +2401,67 @@ msgstr "" msgid "Active" msgstr "Aktif" -#: common/models.py:1757 +#: common/models.py:1771 msgid "Is this webhook active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1785 msgid "Token" msgstr "" -#: common/models.py:1772 +#: common/models.py:1786 msgid "Token for access" msgstr "" -#: common/models.py:1779 +#: common/models.py:1793 msgid "Secret" msgstr "" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1847 +#: common/models.py:1859 msgid "Message ID" msgstr "" -#: common/models.py:1848 +#: common/models.py:1860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Host" msgstr "" -#: common/models.py:1857 +#: common/models.py:1869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Header" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Header of this message" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Body" msgstr "" -#: common/models.py:1872 +#: common/models.py:1884 msgid "Body of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1893 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Worked on" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Was the work on this message finished?" msgstr "" @@ -2646,7 +2598,7 @@ msgstr "Para birimi" msgid "Default currency used for this company" msgstr "Bu şirket için varsayılan para birimi" -#: company/models.py:317 company/models.py:532 stock/models.py:612 +#: company/models.py:317 company/models.py:532 stock/models.py:619 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "Temel Parça" @@ -2673,7 +2625,7 @@ msgstr "Üretici seçin" #: company/models.py:339 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "ÜPN" @@ -2703,7 +2655,7 @@ msgstr "Parametre adı" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2205 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "Değer" @@ -2732,7 +2684,7 @@ msgstr "" #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2743,7 +2695,7 @@ msgid "Select supplier" msgstr "Tedarikçi seçin" #: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" @@ -2780,7 +2732,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: stock/models.py:643 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "Paketleme" @@ -2853,10 +2805,10 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:662 +#: stock/models.py:663 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -3105,7 +3057,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 +#: company/templates/company/supplier_part.html:24 stock/models.py:627 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3372,7 +3324,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" @@ -3429,7 +3381,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "" #: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" @@ -3491,7 +3443,7 @@ msgstr "" #: order/models.py:949 order/models.py:1031 order/models.py:1053 #: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "" @@ -3500,7 +3452,7 @@ msgstr "" #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" @@ -3511,7 +3463,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" @@ -3521,7 +3473,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3876,7 +3828,7 @@ msgstr "Tedarikçi Parçası Seçin" #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3967,7 +3919,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "" @@ -4049,19 +4001,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1045 +#: part/api.py:1037 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1049 +#: part/api.py:1041 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1064 +#: part/api.py:1056 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 msgid "This field is required" msgstr "" @@ -5115,7 +5067,7 @@ msgstr "" 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:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5496,6 +5448,58 @@ msgstr "Kategori Parametre Şablonu Sil" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "İşlem belirtilmedi" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "Eşleşen eylem bulunamadı" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 +msgid "Must provide barcode_data parameter" +msgstr "Barcode_data parametresini sağlamalıdır" + +#: plugin/base/barcodes/api.py:129 +msgid "No match found for barcode data" +msgstr "Barkod verisi için eşleşme bulunamadı" + +#: plugin/base/barcodes/api.py:131 +msgid "Match found for barcode data" +msgstr "Barkod verisi için eşleşme bulundu" + +#: plugin/base/barcodes/api.py:156 +msgid "Must provide stockitem parameter" +msgstr "Stok kalemi parametresi sağlamalıdır" + +#: plugin/base/barcodes/api.py:163 +msgid "No matching stock item found" +msgstr "Eşleşen stok kalemi bulunamadı" + +#: plugin/base/barcodes/api.py:193 +msgid "Barcode already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:197 +msgid "Barcode already matches Stock Location" +msgstr "" + +#: plugin/base/barcodes/api.py:201 +msgid "Barcode already matches Part" +msgstr "" + +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 +msgid "Barcode hash already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:225 +msgid "Barcode associated with Stock Item" +msgstr "" + +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5514,50 +5518,46 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:226 -msgid "Label printing failed" -msgstr "" - -#: plugin/integration.py:146 -msgid "No author found" -msgstr "" - -#: plugin/integration.py:160 -msgid "No date found" -msgstr "" - -#: plugin/models.py:27 +#: plugin/models.py:29 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:30 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:35 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:36 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:44 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:50 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:123 msgid "Plugin" msgstr "" -#: plugin/models.py:176 +#: plugin/models.py:197 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "" @@ -5724,12 +5724,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:667 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "Seri Numara" @@ -5738,19 +5738,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2193 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2199 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "" @@ -5785,12 +5785,12 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:94 stock/models.py:762 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:95 stock/models.py:763 msgid "Select Owner" msgstr "" @@ -5819,203 +5819,203 @@ msgstr "" msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:561 +#: stock/models.py:568 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:604 +#: stock/models.py:611 msgid "Parent Stock Item" msgstr "Üst Stok Kalemi" -#: stock/models.py:613 +#: stock/models.py:620 msgid "Base part" msgstr "" -#: stock/models.py:621 +#: stock/models.py:628 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:627 stock/templates/stock/location.html:16 +#: stock/models.py:634 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Stok Konumu" -#: stock/models.py:630 +#: stock/models.py:637 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:637 +#: stock/models.py:644 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:650 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "" -#: stock/models.py:646 +#: stock/models.py:653 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:662 +#: stock/models.py:669 msgid "Serial number for this item" msgstr "Bu öge için seri numarası" -#: stock/models.py:676 +#: stock/models.py:683 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:681 +#: stock/models.py:688 msgid "Stock Quantity" msgstr "" -#: stock/models.py:690 +#: stock/models.py:697 msgid "Source Build" msgstr "" -#: stock/models.py:692 +#: stock/models.py:699 msgid "Build for this stock item" msgstr "" -#: stock/models.py:703 +#: stock/models.py:710 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:706 +#: stock/models.py:713 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:712 +#: stock/models.py:719 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:725 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:719 +#: stock/models.py:726 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete on deplete" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:749 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:751 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:783 +#: stock/models.py:790 msgid "Converted to part" msgstr "" -#: stock/models.py:1303 +#: stock/models.py:1310 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1309 +#: stock/models.py:1316 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1315 +#: stock/models.py:1322 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1318 +#: stock/models.py:1325 msgid "Serial numbers must be a list of integers" msgstr "Seri numaraları tam sayı listesi olmalı" -#: stock/models.py:1321 +#: stock/models.py:1328 msgid "Quantity does not match serial numbers" msgstr "Miktar seri numaları ile eşleşmiyor" -#: stock/models.py:1328 +#: stock/models.py:1335 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Seri numaraları zaten mevcut: {exists}" -#: stock/models.py:1399 +#: stock/models.py:1406 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1402 +#: stock/models.py:1409 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1405 +#: stock/models.py:1412 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1408 +#: stock/models.py:1415 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1411 +#: stock/models.py:1418 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1414 +#: stock/models.py:1421 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1428 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1429 +#: stock/models.py:1436 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1440 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1605 +#: stock/models.py:1612 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stok kalemi stokta olmadığı için taşınamaz" -#: stock/models.py:2106 +#: stock/models.py:2113 msgid "Entry notes" msgstr "" -#: stock/models.py:2163 +#: stock/models.py:2170 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2169 +#: stock/models.py:2176 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2187 +#: stock/models.py:2194 msgid "Test name" msgstr "" -#: stock/models.py:2193 +#: stock/models.py:2200 msgid "Test result" msgstr "" -#: stock/models.py:2199 +#: stock/models.py:2206 msgid "Test output value" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2213 msgid "Test result attachment" msgstr "" -#: stock/models.py:2212 +#: stock/models.py:2219 msgid "Test notes" msgstr "" @@ -8094,12 +8094,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "Stok tahsisini düzenle" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "Stok tahsisini sil" @@ -8128,11 +8128,11 @@ msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "" @@ -8140,21 +8140,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "Parçaları Seçin" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "" @@ -8166,7 +8166,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8174,11 +8174,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "" @@ -8759,209 +8759,209 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "Ürünler" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "Stok tahsisini onayla" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "Silme İşlemini Onayla" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "Seri numaralarını tahsis et" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "Seri Numaralarını Tahsis Et" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index c85816af56..206fea7cab 100644 --- a/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/InvenTree/locale/vi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-10 04:16+0000\n" -"PO-Revision-Date: 2022-05-11 00:28\n" +"POT-Creation-Date: 2022-05-15 23:30+0000\n" +"PO-Revision-Date: 2022-05-16 01:10\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -17,18 +17,10 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:53 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "" - #: InvenTree/fields.py:100 msgid "Enter date" msgstr "" @@ -128,7 +120,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2212 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "" @@ -146,7 +138,7 @@ msgid "Link" msgstr "" #: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: stock/models.py:677 msgid "Link to external URL" msgstr "" @@ -158,10 +150,10 @@ msgstr "Bình luận" msgid "File comment" msgstr "" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 +#: common/models.py:1547 common/models.py:1778 common/models.py:1779 +#: common/models.py:2006 common/models.py:2007 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -200,9 +192,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 #: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: part/models.py:2555 plugin/models.py:43 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -230,8 +222,8 @@ msgstr "" #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -440,7 +432,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "" @@ -616,46 +608,6 @@ msgstr "" msgid "System Information" msgstr "Thông tin hệ thống" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "" @@ -687,8 +639,8 @@ msgstr "" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 +#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 msgid "Reference" msgstr "" @@ -727,8 +679,8 @@ msgstr "" #: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -750,7 +702,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" @@ -791,7 +743,7 @@ msgid "Build status code" msgstr "" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: stock/models.py:681 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" @@ -800,7 +752,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" @@ -834,7 +786,7 @@ msgstr "" #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" @@ -845,7 +797,7 @@ msgstr "" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 +#: part/templates/part/part_base.html:346 stock/models.py:675 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "" @@ -858,14 +810,14 @@ msgstr "" #: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 +#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "" @@ -928,9 +880,9 @@ msgstr "" #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" @@ -942,7 +894,7 @@ msgstr "" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 +#: build/templates/build/detail.html:34 common/models.py:1589 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 @@ -964,10 +916,10 @@ msgstr "" #: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -1015,7 +967,7 @@ msgstr "" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "" @@ -1060,8 +1012,8 @@ msgstr "" #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 @@ -1076,8 +1028,8 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "Trạng thái" @@ -1278,9 +1230,9 @@ msgstr "" #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "" @@ -1314,7 +1266,7 @@ msgstr "Đã hoàn thành" #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1350,7 +1302,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1592,856 +1544,856 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:387 +#: common/models.py:401 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:389 +#: common/models.py:403 msgid "Settings value" msgstr "" -#: common/models.py:430 +#: common/models.py:444 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:450 +#: common/models.py:464 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:461 +#: common/models.py:475 msgid "Value must be an integer value" msgstr "" -#: common/models.py:510 +#: common/models.py:524 msgid "Key string must be unique" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "No group" msgstr "" -#: common/models.py:784 +#: common/models.py:788 msgid "Restart required" msgstr "" -#: common/models.py:785 +#: common/models.py:789 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:792 +#: common/models.py:796 msgid "Server Instance Name" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:798 +#: common/models.py:802 msgid "Use instance name" msgstr "" -#: common/models.py:799 +#: common/models.py:803 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:805 +#: common/models.py:809 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:816 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Internal company name" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Base URL" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Base URL for server instance" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Default Currency" msgstr "" -#: common/models.py:826 +#: common/models.py:830 msgid "Default currency" msgstr "" -#: common/models.py:832 +#: common/models.py:836 msgid "Download from URL" msgstr "" -#: common/models.py:833 +#: common/models.py:837 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:840 +#: common/models.py:844 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:846 +#: common/models.py:850 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:851 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:857 msgid "IPN Regex" msgstr "" -#: common/models.py:854 +#: common/models.py:858 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:858 +#: common/models.py:862 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:859 +#: common/models.py:863 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:865 +#: common/models.py:869 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:866 +#: common/models.py:870 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:872 +#: common/models.py:876 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:873 +#: common/models.py:877 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:883 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:880 +#: common/models.py:884 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:886 +#: common/models.py:890 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:887 +#: common/models.py:891 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:893 +#: common/models.py:897 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:894 +#: common/models.py:898 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:904 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:901 +#: common/models.py:905 msgid "Parts are templates by default" msgstr "" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:908 +#: common/models.py:912 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:914 part/models.py:967 +#: common/models.py:918 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:915 +#: common/models.py:919 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:921 part/models.py:978 +#: common/models.py:925 part/models.py:978 msgid "Purchaseable" msgstr "" -#: common/models.py:922 +#: common/models.py:926 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:928 part/models.py:983 +#: common/models.py:932 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:929 +#: common/models.py:933 msgid "Parts are salable by default" msgstr "" -#: common/models.py:935 part/models.py:973 +#: common/models.py:939 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:936 +#: common/models.py:940 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:942 part/models.py:993 +#: common/models.py:946 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:943 +#: common/models.py:947 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:949 +#: common/models.py:953 msgid "Show Import in Views" msgstr "" -#: common/models.py:950 +#: common/models.py:954 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:956 +#: common/models.py:960 msgid "Show Price in Forms" msgstr "" -#: common/models.py:957 +#: common/models.py:961 msgid "Display part price in some forms" msgstr "" -#: common/models.py:968 +#: common/models.py:972 msgid "Show Price in BOM" msgstr "" -#: common/models.py:969 +#: common/models.py:973 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:980 +#: common/models.py:984 msgid "Show Price History" msgstr "" -#: common/models.py:981 +#: common/models.py:985 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:987 +#: common/models.py:991 msgid "Show related parts" msgstr "" -#: common/models.py:988 +#: common/models.py:992 msgid "Display related parts for a part" msgstr "" -#: common/models.py:994 +#: common/models.py:998 msgid "Create initial stock" msgstr "" -#: common/models.py:995 +#: common/models.py:999 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1001 +#: common/models.py:1005 msgid "Internal Prices" msgstr "" -#: common/models.py:1002 +#: common/models.py:1006 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1008 +#: common/models.py:1012 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1009 +#: common/models.py:1013 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1015 +#: common/models.py:1019 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1016 +#: common/models.py:1020 msgid "Format to display the part name" msgstr "" -#: common/models.py:1023 +#: common/models.py:1027 msgid "Enable Reports" msgstr "" -#: common/models.py:1024 +#: common/models.py:1028 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1034 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1031 +#: common/models.py:1035 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1037 +#: common/models.py:1041 msgid "Page Size" msgstr "" -#: common/models.py:1038 +#: common/models.py:1042 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1048 +#: common/models.py:1052 msgid "Test Reports" msgstr "" -#: common/models.py:1049 +#: common/models.py:1053 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1055 +#: common/models.py:1059 msgid "Batch Code Template" msgstr "" -#: common/models.py:1056 +#: common/models.py:1060 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1061 +#: common/models.py:1065 msgid "Stock Expiry" msgstr "" -#: common/models.py:1062 +#: common/models.py:1066 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1068 +#: common/models.py:1072 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1069 +#: common/models.py:1073 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1075 +#: common/models.py:1079 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1076 +#: common/models.py:1080 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1078 +#: common/models.py:1082 msgid "days" msgstr "" -#: common/models.py:1083 +#: common/models.py:1087 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1084 +#: common/models.py:1088 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1090 +#: common/models.py:1094 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1091 +#: common/models.py:1095 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1097 +#: common/models.py:1101 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1098 +#: common/models.py:1102 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1103 +#: common/models.py:1107 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1104 +#: common/models.py:1108 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1108 +#: common/models.py:1112 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1109 +#: common/models.py:1113 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1118 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1115 +#: common/models.py:1119 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1121 +#: common/models.py:1125 msgid "Enable password forgot" msgstr "" -#: common/models.py:1122 +#: common/models.py:1126 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1128 +#: common/models.py:1132 msgid "Enable registration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1133 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1135 +#: common/models.py:1139 msgid "Enable SSO" msgstr "" -#: common/models.py:1136 +#: common/models.py:1140 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1142 +#: common/models.py:1146 msgid "Email required" msgstr "" -#: common/models.py:1143 +#: common/models.py:1147 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1149 +#: common/models.py:1153 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1150 +#: common/models.py:1154 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1156 +#: common/models.py:1160 msgid "Mail twice" msgstr "" -#: common/models.py:1157 +#: common/models.py:1161 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1163 +#: common/models.py:1167 msgid "Password twice" msgstr "" -#: common/models.py:1164 +#: common/models.py:1168 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1170 +#: common/models.py:1174 msgid "Group on signup" msgstr "" -#: common/models.py:1171 +#: common/models.py:1175 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1177 +#: common/models.py:1181 msgid "Enforce MFA" msgstr "" -#: common/models.py:1178 +#: common/models.py:1182 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1184 +#: common/models.py:1188 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1185 +#: common/models.py:1189 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1193 +#: common/models.py:1197 msgid "Enable URL integration" msgstr "" -#: common/models.py:1194 +#: common/models.py:1198 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1201 +#: common/models.py:1205 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1202 +#: common/models.py:1206 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1209 +#: common/models.py:1213 msgid "Enable app integration" msgstr "" -#: common/models.py:1210 +#: common/models.py:1214 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1217 +#: common/models.py:1221 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1218 +#: common/models.py:1222 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1225 +#: common/models.py:1229 msgid "Enable event integration" msgstr "" -#: common/models.py:1226 +#: common/models.py:1230 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1245 common/models.py:1539 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1272 +#: common/models.py:1276 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1273 +#: common/models.py:1277 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1279 +#: common/models.py:1283 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1280 +#: common/models.py:1284 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1286 +#: common/models.py:1290 msgid "Show latest parts" msgstr "Hiển thị nguyên liệu mới nhất" -#: common/models.py:1287 +#: common/models.py:1291 msgid "Show latest parts on the homepage" msgstr "Hiển thị nguyên liệu mới nhất trên trang chủ" -#: common/models.py:1293 +#: common/models.py:1297 msgid "Recent Part Count" msgstr "" -#: common/models.py:1294 +#: common/models.py:1298 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1300 +#: common/models.py:1304 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1301 +#: common/models.py:1305 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1311 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1308 +#: common/models.py:1312 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1314 +#: common/models.py:1318 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1315 +#: common/models.py:1319 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1321 +#: common/models.py:1325 msgid "Show low stock" msgstr "" -#: common/models.py:1322 +#: common/models.py:1326 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1332 msgid "Show depleted stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1333 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1339 msgid "Show needed stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1340 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1346 msgid "Show expired stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1347 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1353 msgid "Show stale stock" msgstr "" -#: common/models.py:1350 +#: common/models.py:1354 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1360 msgid "Show pending builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1361 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1367 msgid "Show overdue builds" msgstr "" -#: common/models.py:1364 +#: common/models.py:1368 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1374 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1375 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1381 msgid "Show overdue POs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1382 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1388 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1389 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1391 +#: common/models.py:1395 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1392 +#: common/models.py:1396 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1397 +#: common/models.py:1401 msgid "Enable label printing" msgstr "" -#: common/models.py:1398 +#: common/models.py:1402 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1404 +#: common/models.py:1408 msgid "Inline label display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1409 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1415 msgid "Inline report display" msgstr "" -#: common/models.py:1412 +#: common/models.py:1416 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1418 +#: common/models.py:1422 msgid "Search Parts" msgstr "" -#: common/models.py:1419 +#: common/models.py:1423 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1429 msgid "Search Categories" msgstr "" -#: common/models.py:1426 +#: common/models.py:1430 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1436 msgid "Search Stock" msgstr "" -#: common/models.py:1433 +#: common/models.py:1437 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1443 msgid "Search Locations" msgstr "" -#: common/models.py:1440 +#: common/models.py:1444 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1450 msgid "Search Companies" msgstr "" -#: common/models.py:1447 +#: common/models.py:1451 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1457 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1458 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1464 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1461 +#: common/models.py:1465 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1471 msgid "Search Preview Results" msgstr "" -#: common/models.py:1468 +#: common/models.py:1472 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1478 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1475 +#: common/models.py:1479 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1481 +#: common/models.py:1485 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1482 +#: common/models.py:1486 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1492 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1489 +#: common/models.py:1493 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1495 +#: common/models.py:1499 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1496 +#: common/models.py:1500 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1502 +#: common/models.py:1506 msgid "Date Format" msgstr "" -#: common/models.py:1503 +#: common/models.py:1507 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1521 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1518 +#: common/models.py:1522 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1590 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1583 company/serializers.py:264 +#: common/models.py:1597 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1584 +#: common/models.py:1598 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1755 common/models.py:1892 msgid "Endpoint" msgstr "" -#: common/models.py:1742 +#: common/models.py:1756 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1751 +#: common/models.py:1765 msgid "Name for this webhook" msgstr "" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1770 part/models.py:988 plugin/models.py:49 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2449,67 +2401,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1757 +#: common/models.py:1771 msgid "Is this webhook active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1785 msgid "Token" msgstr "" -#: common/models.py:1772 +#: common/models.py:1786 msgid "Token for access" msgstr "" -#: common/models.py:1779 +#: common/models.py:1793 msgid "Secret" msgstr "" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1847 +#: common/models.py:1859 msgid "Message ID" msgstr "" -#: common/models.py:1848 +#: common/models.py:1860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Host" msgstr "" -#: common/models.py:1857 +#: common/models.py:1869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Header" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Header of this message" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Body" msgstr "" -#: common/models.py:1872 +#: common/models.py:1884 msgid "Body of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1893 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Worked on" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Was the work on this message finished?" msgstr "" @@ -2646,7 +2598,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:612 +#: company/models.py:317 company/models.py:532 stock/models.py:619 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "" @@ -2673,7 +2625,7 @@ msgstr "" #: company/models.py:339 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" @@ -2703,7 +2655,7 @@ msgstr "" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2205 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2732,7 +2684,7 @@ msgstr "" #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2743,7 +2695,7 @@ msgid "Select supplier" msgstr "" #: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" @@ -2780,7 +2732,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: stock/models.py:643 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" @@ -2853,10 +2805,10 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:662 +#: stock/models.py:663 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -3105,7 +3057,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 +#: company/templates/company/supplier_part.html:24 stock/models.py:627 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3372,7 +3324,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" @@ -3429,7 +3381,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "" #: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" @@ -3491,7 +3443,7 @@ msgstr "" #: order/models.py:949 order/models.py:1031 order/models.py:1053 #: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "" @@ -3500,7 +3452,7 @@ msgstr "" #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" @@ -3511,7 +3463,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" @@ -3521,7 +3473,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3876,7 +3828,7 @@ msgstr "" #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3967,7 +3919,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "" @@ -4049,19 +4001,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1045 +#: part/api.py:1037 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1049 +#: part/api.py:1041 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1064 +#: part/api.py:1056 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 msgid "This field is required" msgstr "" @@ -5115,7 +5067,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5496,6 +5448,58 @@ msgstr "" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 +msgid "Must provide barcode_data parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:129 +msgid "No match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:131 +msgid "Match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:156 +msgid "Must provide stockitem parameter" +msgstr "" + +#: plugin/base/barcodes/api.py:163 +msgid "No matching stock item found" +msgstr "" + +#: plugin/base/barcodes/api.py:193 +msgid "Barcode already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:197 +msgid "Barcode already matches Stock Location" +msgstr "" + +#: plugin/base/barcodes/api.py:201 +msgid "Barcode already matches Part" +msgstr "" + +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 +msgid "Barcode hash already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:225 +msgid "Barcode associated with Stock Item" +msgstr "" + +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5514,50 +5518,46 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:226 -msgid "Label printing failed" -msgstr "" - -#: plugin/integration.py:146 -msgid "No author found" -msgstr "" - -#: plugin/integration.py:160 -msgid "No date found" -msgstr "" - -#: plugin/models.py:27 +#: plugin/models.py:29 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:30 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:35 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:36 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:44 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:50 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:123 msgid "Plugin" msgstr "" -#: plugin/models.py:176 +#: plugin/models.py:197 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "" @@ -5724,12 +5724,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:667 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "" @@ -5738,19 +5738,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2193 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2199 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "" @@ -5785,12 +5785,12 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:94 stock/models.py:762 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:95 stock/models.py:763 msgid "Select Owner" msgstr "" @@ -5819,203 +5819,203 @@ msgstr "" msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:561 +#: stock/models.py:568 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:604 +#: stock/models.py:611 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:613 +#: stock/models.py:620 msgid "Base part" msgstr "" -#: stock/models.py:621 +#: stock/models.py:628 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:634 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Kho hàng" -#: stock/models.py:630 +#: stock/models.py:637 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:637 +#: stock/models.py:644 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:650 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "" -#: stock/models.py:646 +#: stock/models.py:653 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:662 +#: stock/models.py:669 msgid "Serial number for this item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:683 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:681 +#: stock/models.py:688 msgid "Stock Quantity" msgstr "" -#: stock/models.py:690 +#: stock/models.py:697 msgid "Source Build" msgstr "" -#: stock/models.py:692 +#: stock/models.py:699 msgid "Build for this stock item" msgstr "" -#: stock/models.py:703 +#: stock/models.py:710 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:706 +#: stock/models.py:713 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:712 +#: stock/models.py:719 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:725 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:719 +#: stock/models.py:726 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete on deplete" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:749 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:751 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:783 +#: stock/models.py:790 msgid "Converted to part" msgstr "" -#: stock/models.py:1303 +#: stock/models.py:1310 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1309 +#: stock/models.py:1316 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1315 +#: stock/models.py:1322 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1318 +#: stock/models.py:1325 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1328 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1335 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1399 +#: stock/models.py:1406 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1402 +#: stock/models.py:1409 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1405 +#: stock/models.py:1412 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1408 +#: stock/models.py:1415 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1411 +#: stock/models.py:1418 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1414 +#: stock/models.py:1421 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1428 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1429 +#: stock/models.py:1436 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1440 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1605 +#: stock/models.py:1612 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2106 +#: stock/models.py:2113 msgid "Entry notes" msgstr "" -#: stock/models.py:2163 +#: stock/models.py:2170 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2169 +#: stock/models.py:2176 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2187 +#: stock/models.py:2194 msgid "Test name" msgstr "" -#: stock/models.py:2193 +#: stock/models.py:2200 msgid "Test result" msgstr "" -#: stock/models.py:2199 +#: stock/models.py:2206 msgid "Test output value" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2213 msgid "Test result attachment" msgstr "" -#: stock/models.py:2212 +#: stock/models.py:2219 msgid "Test notes" msgstr "" @@ -8094,12 +8094,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "" @@ -8128,11 +8128,11 @@ msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "" @@ -8140,21 +8140,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "" @@ -8166,7 +8166,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8174,11 +8174,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "" @@ -8759,209 +8759,209 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index db753ef3f0..111bd74719 100644 --- a/InvenTree/locale/zh/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-10 04:16+0000\n" -"PO-Revision-Date: 2022-05-11 00:28\n" +"POT-Creation-Date: 2022-05-15 23:30+0000\n" +"PO-Revision-Date: 2022-05-16 01:10\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -17,18 +17,10 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:53 msgid "API endpoint not found" msgstr "未找到 API 端点" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "未指定操作" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "未找到指定操作" - #: InvenTree/fields.py:100 msgid "Enter date" msgstr "输入日期" @@ -128,7 +120,7 @@ msgstr "缺少文件" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2212 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "附件" @@ -146,7 +138,7 @@ msgid "Link" msgstr "链接" #: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: stock/models.py:677 msgid "Link to external URL" msgstr "链接到外部 URL" @@ -158,10 +150,10 @@ msgstr "注释" msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 +#: common/models.py:1547 common/models.py:1778 common/models.py:1779 +#: common/models.py:2006 common/models.py:2007 part/models.py:2371 +#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -200,9 +192,9 @@ msgstr "重命名文件出错" msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 #: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: part/models.py:2555 plugin/models.py:43 report/models.py:177 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -230,8 +222,8 @@ msgstr "名称" #: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -440,7 +432,7 @@ msgid "Returned" msgstr "已退回" #: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "已发货" @@ -616,46 +608,6 @@ msgstr "密码字段必须相匹配。" msgid "System Information" msgstr "系统信息" -#: barcodes/api.py:55 barcodes/api.py:156 -msgid "Must provide barcode_data parameter" -msgstr "必须提供条码数据参数" - -#: barcodes/api.py:132 -msgid "No match found for barcode data" -msgstr "未找到匹配条形码数据" - -#: barcodes/api.py:134 -msgid "Match found for barcode data" -msgstr "找到匹配条形码数据" - -#: barcodes/api.py:159 -msgid "Must provide stockitem parameter" -msgstr "必须提供库存项参数" - -#: barcodes/api.py:166 -msgid "No matching stock item found" -msgstr "未找到匹配的库存项" - -#: barcodes/api.py:197 -msgid "Barcode already matches Stock Item" -msgstr "" - -#: barcodes/api.py:201 -msgid "Barcode already matches Stock Location" -msgstr "" - -#: barcodes/api.py:205 -msgid "Barcode already matches Part" -msgstr "" - -#: barcodes/api.py:211 barcodes/api.py:223 -msgid "Barcode hash already matches Stock Item" -msgstr "" - -#: barcodes/api.py:229 -msgid "Barcode associated with Stock Item" -msgstr "" - #: build/models.py:135 msgid "Invalid choice for parent build" msgstr "上级生产选项无效" @@ -687,8 +639,8 @@ msgstr "相关生产订单" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 +#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 msgid "Reference" msgstr "引用" @@ -727,8 +679,8 @@ msgstr "此次生产匹配的订单" #: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -750,7 +702,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "此次生产匹配的销售订单" #: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "来源地点" @@ -791,7 +743,7 @@ msgid "Build status code" msgstr "生产状态代码" #: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: stock/models.py:681 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "批量代码" @@ -800,7 +752,7 @@ msgid "Batch code for this build output" msgstr "此生产产出的批量代码" #: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "创建日期" @@ -834,7 +786,7 @@ msgstr "发布此生产订单的用户" #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:182 part/models.py:1013 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "责任人" @@ -845,7 +797,7 @@ msgstr "负责此生产订单的用户" #: build/models.py:331 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 +#: part/templates/part/part_base.html:346 stock/models.py:675 #: stock/templates/stock/item_base.html:357 msgid "External Link" msgstr "外部链接" @@ -858,14 +810,14 @@ msgstr "外部链接" #: order/templates/order/so_sidebar.html:17 part/models.py:998 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 +#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 #: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 #: stock/serializers.py:837 stock/serializers.py:969 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "备注" @@ -928,9 +880,9 @@ msgstr "" #: stock/templates/stock/item_base.html:351 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" @@ -942,7 +894,7 @@ msgstr "源库存项" #: build/models.py:1406 build/serializers.py:193 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 +#: build/templates/build/detail.html:34 common/models.py:1589 #: company/forms.py:42 company/templates/company/supplier_part.html:258 #: order/models.py:862 order/models.py:1351 order/serializers.py:1100 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 @@ -964,10 +916,10 @@ msgstr "源库存项" #: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -1015,7 +967,7 @@ msgstr "输入生产产出数量" #: build/serializers.py:206 build/serializers.py:655 order/models.py:305 #: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 +#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 #: stock/serializers.py:305 msgid "Quantity must be greater than zero" msgstr "" @@ -1060,8 +1012,8 @@ msgstr "" #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 @@ -1076,8 +1028,8 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:605 #: order/serializers.py:466 stock/templates/stock/item_base.html:187 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "状态" @@ -1278,9 +1230,9 @@ msgstr "" #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "预计日期" @@ -1314,7 +1266,7 @@ msgstr "已完成" #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "销售订单" @@ -1350,7 +1302,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1592,856 +1544,856 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:387 +#: common/models.py:401 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:389 +#: common/models.py:403 msgid "Settings value" msgstr "" -#: common/models.py:430 +#: common/models.py:444 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:450 +#: common/models.py:464 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:461 +#: common/models.py:475 msgid "Value must be an integer value" msgstr "" -#: common/models.py:510 +#: common/models.py:524 msgid "Key string must be unique" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "No group" msgstr "" -#: common/models.py:784 +#: common/models.py:788 msgid "Restart required" msgstr "" -#: common/models.py:785 +#: common/models.py:789 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:792 +#: common/models.py:796 msgid "Server Instance Name" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:798 +#: common/models.py:802 msgid "Use instance name" msgstr "" -#: common/models.py:799 +#: common/models.py:803 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:805 +#: common/models.py:809 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:816 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "公司名称" -#: common/models.py:813 +#: common/models.py:817 msgid "Internal company name" msgstr "内部公司名称" -#: common/models.py:818 +#: common/models.py:822 msgid "Base URL" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Base URL for server instance" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Default Currency" msgstr "" -#: common/models.py:826 +#: common/models.py:830 msgid "Default currency" msgstr "" -#: common/models.py:832 +#: common/models.py:836 msgid "Download from URL" msgstr "" -#: common/models.py:833 +#: common/models.py:837 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:840 +#: common/models.py:844 msgid "Enable barcode scanner support" msgstr "启用条形码扫描支持" -#: common/models.py:846 +#: common/models.py:850 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:851 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:857 msgid "IPN Regex" msgstr "" -#: common/models.py:854 +#: common/models.py:858 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:858 +#: common/models.py:862 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:859 +#: common/models.py:863 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:865 +#: common/models.py:869 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:866 +#: common/models.py:870 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:872 +#: common/models.py:876 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:873 +#: common/models.py:877 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:883 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:880 +#: common/models.py:884 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:886 +#: common/models.py:890 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:887 +#: common/models.py:891 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:893 +#: common/models.py:897 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:894 +#: common/models.py:898 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:904 part/models.py:2595 report/models.py:183 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "模板" -#: common/models.py:901 +#: common/models.py:905 msgid "Parts are templates by default" msgstr "" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "组装" -#: common/models.py:908 +#: common/models.py:912 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:914 part/models.py:967 +#: common/models.py:918 part/models.py:967 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "组件" -#: common/models.py:915 +#: common/models.py:919 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:921 part/models.py:978 +#: common/models.py:925 part/models.py:978 msgid "Purchaseable" msgstr "可购买" -#: common/models.py:922 +#: common/models.py:926 msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:928 part/models.py:983 +#: common/models.py:932 part/models.py:983 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "可销售" -#: common/models.py:929 +#: common/models.py:933 msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:935 part/models.py:973 +#: common/models.py:939 part/models.py:973 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "可追踪" -#: common/models.py:936 +#: common/models.py:940 msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:942 part/models.py:993 +#: common/models.py:946 part/models.py:993 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "虚拟" -#: common/models.py:943 +#: common/models.py:947 msgid "Parts are virtual by default" msgstr "商品默认是虚拟的" -#: common/models.py:949 +#: common/models.py:953 msgid "Show Import in Views" msgstr "视图中显示导入" -#: common/models.py:950 +#: common/models.py:954 msgid "Display the import wizard in some part views" msgstr "在一些商品视图中显示导入向导" -#: common/models.py:956 +#: common/models.py:960 msgid "Show Price in Forms" msgstr "在表格中显示价格" -#: common/models.py:957 +#: common/models.py:961 msgid "Display part price in some forms" msgstr "以某些表格显示商品价格" -#: common/models.py:968 +#: common/models.py:972 msgid "Show Price in BOM" msgstr "" -#: common/models.py:969 +#: common/models.py:973 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:980 +#: common/models.py:984 msgid "Show Price History" msgstr "" -#: common/models.py:981 +#: common/models.py:985 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:987 +#: common/models.py:991 msgid "Show related parts" msgstr "显示相关商品" -#: common/models.py:988 +#: common/models.py:992 msgid "Display related parts for a part" msgstr "" -#: common/models.py:994 +#: common/models.py:998 msgid "Create initial stock" msgstr "创建初始库存" -#: common/models.py:995 +#: common/models.py:999 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1001 +#: common/models.py:1005 msgid "Internal Prices" msgstr "内部价格" -#: common/models.py:1002 +#: common/models.py:1006 msgid "Enable internal prices for parts" msgstr "启用内部商品价格" -#: common/models.py:1008 +#: common/models.py:1012 msgid "Internal Price as BOM-Price" msgstr "内部价格为BOM价格" -#: common/models.py:1009 +#: common/models.py:1013 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "在 BOM价格计算中使用内部价格(如设置)" -#: common/models.py:1015 +#: common/models.py:1019 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1016 +#: common/models.py:1020 msgid "Format to display the part name" msgstr "" -#: common/models.py:1023 +#: common/models.py:1027 msgid "Enable Reports" msgstr "" -#: common/models.py:1024 +#: common/models.py:1028 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1034 templates/stats.html:25 msgid "Debug Mode" msgstr "调试模式" -#: common/models.py:1031 +#: common/models.py:1035 msgid "Generate reports in debug mode (HTML output)" msgstr "在调试模式生成报告(HTML输出)" -#: common/models.py:1037 +#: common/models.py:1041 msgid "Page Size" msgstr "页面大小" -#: common/models.py:1038 +#: common/models.py:1042 msgid "Default page size for PDF reports" msgstr "PDF 报表默认页面大小" -#: common/models.py:1048 +#: common/models.py:1052 msgid "Test Reports" msgstr "测试报表" -#: common/models.py:1049 +#: common/models.py:1053 msgid "Enable generation of test reports" msgstr "启用生成测试报表" -#: common/models.py:1055 +#: common/models.py:1059 msgid "Batch Code Template" msgstr "" -#: common/models.py:1056 +#: common/models.py:1060 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1061 +#: common/models.py:1065 msgid "Stock Expiry" msgstr "库存到期" -#: common/models.py:1062 +#: common/models.py:1066 msgid "Enable stock expiry functionality" msgstr "启用库存到期功能" -#: common/models.py:1068 +#: common/models.py:1072 msgid "Sell Expired Stock" msgstr "销售过期库存" -#: common/models.py:1069 +#: common/models.py:1073 msgid "Allow sale of expired stock" msgstr "允许销售过期库存" -#: common/models.py:1075 +#: common/models.py:1079 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1076 +#: common/models.py:1080 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1078 +#: common/models.py:1082 msgid "days" msgstr "天" -#: common/models.py:1083 +#: common/models.py:1087 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1084 +#: common/models.py:1088 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1090 +#: common/models.py:1094 msgid "Stock Ownership Control" msgstr "库存所有权控制" -#: common/models.py:1091 +#: common/models.py:1095 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1097 +#: common/models.py:1101 msgid "Build Order Reference Prefix" msgstr "生产订单参考前缀" -#: common/models.py:1098 +#: common/models.py:1102 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1103 +#: common/models.py:1107 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1104 +#: common/models.py:1108 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1108 +#: common/models.py:1112 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1109 +#: common/models.py:1113 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1118 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1115 +#: common/models.py:1119 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1121 +#: common/models.py:1125 msgid "Enable password forgot" msgstr "" -#: common/models.py:1122 +#: common/models.py:1126 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1128 +#: common/models.py:1132 msgid "Enable registration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1133 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1135 +#: common/models.py:1139 msgid "Enable SSO" msgstr "" -#: common/models.py:1136 +#: common/models.py:1140 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1142 +#: common/models.py:1146 msgid "Email required" msgstr "" -#: common/models.py:1143 +#: common/models.py:1147 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1149 +#: common/models.py:1153 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1150 +#: common/models.py:1154 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1156 +#: common/models.py:1160 msgid "Mail twice" msgstr "" -#: common/models.py:1157 +#: common/models.py:1161 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1163 +#: common/models.py:1167 msgid "Password twice" msgstr "" -#: common/models.py:1164 +#: common/models.py:1168 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1170 +#: common/models.py:1174 msgid "Group on signup" msgstr "" -#: common/models.py:1171 +#: common/models.py:1175 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1177 +#: common/models.py:1181 msgid "Enforce MFA" msgstr "" -#: common/models.py:1178 +#: common/models.py:1182 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1184 +#: common/models.py:1188 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1185 +#: common/models.py:1189 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1193 +#: common/models.py:1197 msgid "Enable URL integration" msgstr "" -#: common/models.py:1194 +#: common/models.py:1198 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1201 +#: common/models.py:1205 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1202 +#: common/models.py:1206 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1209 +#: common/models.py:1213 msgid "Enable app integration" msgstr "" -#: common/models.py:1210 +#: common/models.py:1214 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1217 +#: common/models.py:1221 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1218 +#: common/models.py:1222 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1225 +#: common/models.py:1229 msgid "Enable event integration" msgstr "" -#: common/models.py:1226 +#: common/models.py:1230 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1245 common/models.py:1539 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1272 +#: common/models.py:1276 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1273 +#: common/models.py:1277 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1279 +#: common/models.py:1283 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1280 +#: common/models.py:1284 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1286 +#: common/models.py:1290 msgid "Show latest parts" msgstr "显示最近商品" -#: common/models.py:1287 +#: common/models.py:1291 msgid "Show latest parts on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:1293 +#: common/models.py:1297 msgid "Recent Part Count" msgstr "" -#: common/models.py:1294 +#: common/models.py:1298 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1300 +#: common/models.py:1304 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1301 +#: common/models.py:1305 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1311 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1308 +#: common/models.py:1312 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1314 +#: common/models.py:1318 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1315 +#: common/models.py:1319 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1321 +#: common/models.py:1325 msgid "Show low stock" msgstr "" -#: common/models.py:1322 +#: common/models.py:1326 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1332 msgid "Show depleted stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1333 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1339 msgid "Show needed stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1340 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1346 msgid "Show expired stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1347 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1353 msgid "Show stale stock" msgstr "" -#: common/models.py:1350 +#: common/models.py:1354 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1360 msgid "Show pending builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1361 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1367 msgid "Show overdue builds" msgstr "显示逾期生产" -#: common/models.py:1364 +#: common/models.py:1368 msgid "Show overdue builds on the homepage" msgstr "在主页上显示逾期的生产" -#: common/models.py:1370 +#: common/models.py:1374 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1375 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1381 msgid "Show overdue POs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1382 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1388 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1389 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1391 +#: common/models.py:1395 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1392 +#: common/models.py:1396 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1397 +#: common/models.py:1401 msgid "Enable label printing" msgstr "" -#: common/models.py:1398 +#: common/models.py:1402 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1404 +#: common/models.py:1408 msgid "Inline label display" msgstr "内嵌标签显示" -#: common/models.py:1405 +#: common/models.py:1409 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:1411 +#: common/models.py:1415 msgid "Inline report display" msgstr "" -#: common/models.py:1412 +#: common/models.py:1416 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:1418 +#: common/models.py:1422 msgid "Search Parts" msgstr "" -#: common/models.py:1419 +#: common/models.py:1423 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1429 msgid "Search Categories" msgstr "" -#: common/models.py:1426 +#: common/models.py:1430 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1436 msgid "Search Stock" msgstr "" -#: common/models.py:1433 +#: common/models.py:1437 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1443 msgid "Search Locations" msgstr "" -#: common/models.py:1440 +#: common/models.py:1444 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1450 msgid "Search Companies" msgstr "" -#: common/models.py:1447 +#: common/models.py:1451 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1457 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1458 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1464 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1461 +#: common/models.py:1465 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1471 msgid "Search Preview Results" msgstr "搜索预览结果" -#: common/models.py:1468 +#: common/models.py:1472 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1478 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1475 +#: common/models.py:1479 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1481 +#: common/models.py:1485 msgid "Show Quantity in Forms" msgstr "在表格中显示数量" -#: common/models.py:1482 +#: common/models.py:1486 msgid "Display available part quantity in some forms" msgstr "在某些表格中显示可用的商品数量" -#: common/models.py:1488 +#: common/models.py:1492 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1489 +#: common/models.py:1493 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1495 +#: common/models.py:1499 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1496 +#: common/models.py:1500 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1502 +#: common/models.py:1506 msgid "Date Format" msgstr "" -#: common/models.py:1503 +#: common/models.py:1507 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1521 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1518 +#: common/models.py:1522 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1590 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1583 company/serializers.py:264 +#: common/models.py:1597 company/serializers.py:264 #: company/templates/company/supplier_part.html:263 order/models.py:902 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "价格" -#: common/models.py:1584 +#: common/models.py:1598 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1755 common/models.py:1892 msgid "Endpoint" msgstr "" -#: common/models.py:1742 +#: common/models.py:1756 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1751 +#: common/models.py:1765 msgid "Name for this webhook" msgstr "" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1770 part/models.py:988 plugin/models.py:49 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2449,67 +2401,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1757 +#: common/models.py:1771 msgid "Is this webhook active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1785 msgid "Token" msgstr "" -#: common/models.py:1772 +#: common/models.py:1786 msgid "Token for access" msgstr "" -#: common/models.py:1779 +#: common/models.py:1793 msgid "Secret" msgstr "" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1847 +#: common/models.py:1859 msgid "Message ID" msgstr "" -#: common/models.py:1848 +#: common/models.py:1860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Host" msgstr "" -#: common/models.py:1857 +#: common/models.py:1869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Header" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Header of this message" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Body" msgstr "" -#: common/models.py:1872 +#: common/models.py:1884 msgid "Body of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1893 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Worked on" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Was the work on this message finished?" msgstr "" @@ -2646,7 +2598,7 @@ msgstr "货币" msgid "Default currency used for this company" msgstr "该公司使用的默认货币" -#: company/models.py:317 company/models.py:532 stock/models.py:612 +#: company/models.py:317 company/models.py:532 stock/models.py:619 #: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 msgid "Base Part" msgstr "" @@ -2673,7 +2625,7 @@ msgstr "选择制造商" #: company/models.py:339 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" @@ -2703,7 +2655,7 @@ msgstr "参数名称" #: company/models.py:419 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2205 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "数值" @@ -2732,7 +2684,7 @@ msgstr "" #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2743,7 +2695,7 @@ msgid "Select supplier" msgstr "选择供应商" #: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" @@ -2780,7 +2732,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" #: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: stock/models.py:643 stock/templates/stock/item_base.html:322 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "打包" @@ -2853,10 +2805,10 @@ msgid "Download image from URL" msgstr "从 URL 下载图片" #: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 +#: order/templates/order/sales_order_base.html:115 stock/models.py:662 +#: stock/models.py:663 stock/serializers.py:725 #: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -3105,7 +3057,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 +#: company/templates/company/supplier_part.html:24 stock/models.py:627 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 @@ -3372,7 +3324,7 @@ msgid "Company from which the items are being ordered" msgstr "订购该商品的公司" #: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" @@ -3429,7 +3381,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "" #: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" @@ -3491,7 +3443,7 @@ msgstr "" #: order/models.py:949 order/models.py:1031 order/models.py:1053 #: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "" @@ -3500,7 +3452,7 @@ msgstr "" #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" @@ -3511,7 +3463,7 @@ msgid "Supplier part" msgstr "供应商商品" #: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" @@ -3521,7 +3473,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 +#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 #: stock/serializers.py:170 stock/templates/stock/item_base.html:343 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" @@ -3876,7 +3828,7 @@ msgstr "选择供应商商品" #: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3967,7 +3919,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "" @@ -4049,19 +4001,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1045 +#: part/api.py:1037 msgid "Must be greater than zero" msgstr "必须大于0" -#: part/api.py:1049 +#: part/api.py:1041 msgid "Must be a valid quantity" msgstr "必须是有效的数量" -#: part/api.py:1064 +#: part/api.py:1056 msgid "Specify location for initial part stock" msgstr "指定初始初始商品仓储地点" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 msgid "This field is required" msgstr "此字段为必填" @@ -5115,7 +5067,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5496,6 +5448,58 @@ msgstr "删除类别参数模板" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "未指定操作" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "未找到指定操作" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 +msgid "Must provide barcode_data parameter" +msgstr "必须提供条码数据参数" + +#: plugin/base/barcodes/api.py:129 +msgid "No match found for barcode data" +msgstr "未找到匹配条形码数据" + +#: plugin/base/barcodes/api.py:131 +msgid "Match found for barcode data" +msgstr "找到匹配条形码数据" + +#: plugin/base/barcodes/api.py:156 +msgid "Must provide stockitem parameter" +msgstr "必须提供库存项参数" + +#: plugin/base/barcodes/api.py:163 +msgid "No matching stock item found" +msgstr "未找到匹配的库存项" + +#: plugin/base/barcodes/api.py:193 +msgid "Barcode already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:197 +msgid "Barcode already matches Stock Location" +msgstr "" + +#: plugin/base/barcodes/api.py:201 +msgid "Barcode already matches Part" +msgstr "" + +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 +msgid "Barcode hash already matches Stock Item" +msgstr "" + +#: plugin/base/barcodes/api.py:225 +msgid "Barcode associated with Stock Item" +msgstr "" + +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5514,50 +5518,46 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:226 -msgid "Label printing failed" -msgstr "" - -#: plugin/integration.py:146 -msgid "No author found" -msgstr "" - -#: plugin/integration.py:160 -msgid "No date found" -msgstr "" - -#: plugin/models.py:27 +#: plugin/models.py:29 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:30 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:35 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:36 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:44 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:50 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:123 msgid "Plugin" msgstr "" -#: plugin/models.py:176 +#: plugin/models.py:197 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "" @@ -5724,12 +5724,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:667 stock/templates/stock/item_base.html:156 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "序列号" @@ -5738,19 +5738,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2193 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2199 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "" @@ -5785,12 +5785,12 @@ msgstr "" msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:755 +#: stock/models.py:94 stock/models.py:762 #: stock/templates/stock/item_base.html:411 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:95 stock/models.py:763 msgid "Select Owner" msgstr "" @@ -5819,203 +5819,203 @@ msgstr "" msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:561 +#: stock/models.py:568 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:604 +#: stock/models.py:611 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:613 +#: stock/models.py:620 msgid "Base part" msgstr "" -#: stock/models.py:621 +#: stock/models.py:628 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:634 stock/templates/stock/location.html:16 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "仓储地点" -#: stock/models.py:630 +#: stock/models.py:637 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:637 +#: stock/models.py:644 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:650 stock/templates/stock/item_base.html:282 msgid "Installed In" msgstr "" -#: stock/models.py:646 +#: stock/models.py:653 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:662 +#: stock/models.py:669 msgid "Serial number for this item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:683 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:681 +#: stock/models.py:688 msgid "Stock Quantity" msgstr "" -#: stock/models.py:690 +#: stock/models.py:697 msgid "Source Build" msgstr "" -#: stock/models.py:692 +#: stock/models.py:699 msgid "Build for this stock item" msgstr "" -#: stock/models.py:703 +#: stock/models.py:710 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:706 +#: stock/models.py:713 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:712 +#: stock/models.py:719 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:725 stock/templates/stock/item_base.html:193 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:719 +#: stock/models.py:726 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete on deplete" msgstr "" -#: stock/models.py:732 +#: stock/models.py:739 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:749 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:751 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:783 +#: stock/models.py:790 msgid "Converted to part" msgstr "" -#: stock/models.py:1303 +#: stock/models.py:1310 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1309 +#: stock/models.py:1316 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1315 +#: stock/models.py:1322 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1318 +#: stock/models.py:1325 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1328 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1335 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1399 +#: stock/models.py:1406 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1402 +#: stock/models.py:1409 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1405 +#: stock/models.py:1412 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1408 +#: stock/models.py:1415 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1411 +#: stock/models.py:1418 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1414 +#: stock/models.py:1421 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1428 stock/serializers.py:874 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1429 +#: stock/models.py:1436 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1440 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1605 +#: stock/models.py:1612 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2106 +#: stock/models.py:2113 msgid "Entry notes" msgstr "" -#: stock/models.py:2163 +#: stock/models.py:2170 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2169 +#: stock/models.py:2176 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2187 +#: stock/models.py:2194 msgid "Test name" msgstr "" -#: stock/models.py:2193 +#: stock/models.py:2200 msgid "Test result" msgstr "" -#: stock/models.py:2199 +#: stock/models.py:2206 msgid "Test output value" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2213 msgid "Test result attachment" msgstr "" -#: stock/models.py:2212 +#: stock/models.py:2219 msgid "Test notes" msgstr "" @@ -8094,12 +8094,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "" @@ -8128,11 +8128,11 @@ msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "" @@ -8140,21 +8140,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "选择商品" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "" @@ -8166,7 +8166,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8174,11 +8174,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "" @@ -8759,209 +8759,209 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "单价" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "确认库存分配" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "确认删除操作" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "" From 1488a0e72f94a018b3802107c70af981bee116e5 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 17 May 2022 00:18:47 +1000 Subject: [PATCH 060/134] Adds a custom exception handler for DRF - Handles common exceptions not captured by DRF - Returns exeption data as a JSON object --- InvenTree/InvenTree/exceptions.py | 80 +++++++++++++++++++++++++++++++ InvenTree/InvenTree/settings.py | 2 +- 2 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 InvenTree/InvenTree/exceptions.py diff --git a/InvenTree/InvenTree/exceptions.py b/InvenTree/InvenTree/exceptions.py new file mode 100644 index 0000000000..f57df8ac00 --- /dev/null +++ b/InvenTree/InvenTree/exceptions.py @@ -0,0 +1,80 @@ +""" +Custom exception handling for the DRF API +""" + +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +import json + +from django.db.utils import OperationalError, ProgrammingError, IntegrityError +from django.conf import settings +from django.core.exceptions import ValidationError as DjangoValidationError +from django.utils.translation import gettext_lazy as _ + +from error_report.models import Error + +from rest_framework.exceptions import ValidationError as DRFValidationError +from rest_framework.response import Response +from rest_framework import serializers +import rest_framework.views as drfviews + + +def exception_handler(exc, context): + """ + Custom exception handler for DRF framework. + Ref: https://www.django-rest-framework.org/api-guide/exceptions/#custom-exception-handling + + Catches any errors not natively handled by DRF, and re-throws as an error DRF can handle + """ + + response = None + + # Catch any django validation error, and re-throw a DRF validation error + if isinstance(exc, DjangoValidationError): + exc = DRFValidationError(detail=serializers.as_serializer_error(exc)) + + # Exceptions we will manually check for here + handled_exceptions = [ + IntegrityError, + OperationalError, + ProgrammingError, + ValueError, + TypeError, + NameError, + ] + + if any([isinstance(exc, err_type) for err_type in handled_exceptions]): + + if settings.DEBUG: + error_detail = str(exc) + else: + error_detail = _("Error details can be found in the admin panel") + + response_data = { + 'error': type(exc).__name__, + 'error_class': str(type(exc)), + 'detail': error_detail, + 'path': context['request'].path, + 'status_code': 500, + } + + response = Response(response_data, status=500) + + # Log the exception to the database, too + Error.objects.create( + kind="Unhandled DRF API Exception", + info=str(type(exc)), + data=str(exc), + path=context['request'].path, + ) + + else: + # Fallback to the default DRF exception handler + response = drfviews.exception_handler(exc, context) + + if response is not None: + # For an error response, include status code information + response.data['status_code'] = response.status_code + + return response diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index cba4ab4c6a..5c6bca4dea 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -353,7 +353,7 @@ TEMPLATES = [ ] REST_FRAMEWORK = { - 'EXCEPTION_HANDLER': 'rest_framework.views.exception_handler', + 'EXCEPTION_HANDLER': 'InvenTree.exceptions.exception_handler', 'DATETIME_FORMAT': '%Y-%m-%d %H:%M', 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework.authentication.BasicAuthentication', From ae50546ca67ea40872fe213ed88befdce2b63256 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 17 May 2022 00:25:32 +1000 Subject: [PATCH 061/134] Display API error information if available --- InvenTree/templates/js/translated/api.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/InvenTree/templates/js/translated/api.js b/InvenTree/templates/js/translated/api.js index 119376c310..5ec63ba51c 100644 --- a/InvenTree/templates/js/translated/api.js +++ b/InvenTree/templates/js/translated/api.js @@ -225,6 +225,20 @@ function showApiError(xhr, url) { default: title = '{% trans "Unhandled Error Code" %}'; message = `{% trans "Error code" %}: ${xhr.status}`; + + var response = xhr.responseJSON; + + // The server may have provided some extra information about this error + if (response) { + if (response.error) { + title = response.error + } + + if (response.detail) { + message = response.detail; + } + } + break; } From 6512c0061eed3f4356faaeff81fb27ec497806e2 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 17 May 2022 00:35:24 +1000 Subject: [PATCH 062/134] Catch a 500 and make it a 400 While we are at it, convert __all__ to non_field_errors automatically --- InvenTree/InvenTree/exceptions.py | 5 +++++ InvenTree/order/serializers.py | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/exceptions.py b/InvenTree/InvenTree/exceptions.py index f57df8ac00..78a494c9f2 100644 --- a/InvenTree/InvenTree/exceptions.py +++ b/InvenTree/InvenTree/exceptions.py @@ -77,4 +77,9 @@ def exception_handler(exc, context): # For an error response, include status code information response.data['status_code'] = response.status_code + # Convert errors returned under the label '__all__' to 'non_field_errors' + if '__all__' in response.data: + response.data['non_field_errors'] = response.data['all'] + del response.data['__all__'] + return response diff --git a/InvenTree/order/serializers.py b/InvenTree/order/serializers.py index c97090e4f6..1c261e7a86 100644 --- a/InvenTree/order/serializers.py +++ b/InvenTree/order/serializers.py @@ -1287,13 +1287,17 @@ class SalesOrderShipmentAllocationSerializer(serializers.Serializer): with transaction.atomic(): for entry in items: + # Create a new SalesOrderAllocation - order.models.SalesOrderAllocation.objects.create( + allocation = order.models.SalesOrderAllocation( line=entry.get('line_item'), item=entry.get('stock_item'), quantity=entry.get('quantity'), shipment=shipment, ) + + allocation.full_clean() + allocation.save() class SalesOrderExtraLineSerializer(AbstractExtraLineSerializer, InvenTreeModelSerializer): From 263ac01727b91063a7c4baeff385c16f5db485c0 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 17 May 2022 00:35:59 +1000 Subject: [PATCH 063/134] Typo fix --- InvenTree/InvenTree/exceptions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/exceptions.py b/InvenTree/InvenTree/exceptions.py index 78a494c9f2..5ba0d80bec 100644 --- a/InvenTree/InvenTree/exceptions.py +++ b/InvenTree/InvenTree/exceptions.py @@ -79,7 +79,7 @@ def exception_handler(exc, context): # Convert errors returned under the label '__all__' to 'non_field_errors' if '__all__' in response.data: - response.data['non_field_errors'] = response.data['all'] + response.data['non_field_errors'] = response.data['__all__'] del response.data['__all__'] return response From 3373bb19f1f57ecbbd3b9e08ad5d3746f2897fad Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 17 May 2022 00:36:30 +1000 Subject: [PATCH 064/134] Remove unique_together requirement on SalesOrderAllocation model --- ...lter_salesorderallocation_unique_together.py | 17 +++++++++++++++++ InvenTree/order/models.py | 6 ------ 2 files changed, 17 insertions(+), 6 deletions(-) create mode 100644 InvenTree/order/migrations/0068_alter_salesorderallocation_unique_together.py diff --git a/InvenTree/order/migrations/0068_alter_salesorderallocation_unique_together.py b/InvenTree/order/migrations/0068_alter_salesorderallocation_unique_together.py new file mode 100644 index 0000000000..23915cf9d0 --- /dev/null +++ b/InvenTree/order/migrations/0068_alter_salesorderallocation_unique_together.py @@ -0,0 +1,17 @@ +# Generated by Django 3.2.13 on 2022-05-16 14:35 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('order', '0067_auto_20220516_1120'), + ] + + operations = [ + migrations.AlterUniqueTogether( + name='salesorderallocation', + unique_together=set(), + ), + ] diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index e918f0a30c..7460e81e56 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -1269,12 +1269,6 @@ class SalesOrderAllocation(models.Model): def get_api_url(): return reverse('api-so-allocation-list') - class Meta: - unique_together = [ - # Cannot allocate any given StockItem to the same line more than once - ('line', 'item'), - ] - def clean(self): """ Validate the SalesOrderAllocation object: From b630fb285615260b660cefbd3b879d1c74436155 Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 16 May 2022 16:41:00 +0200 Subject: [PATCH 065/134] update envguard import --- InvenTree/InvenTree/tests.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index dc3aff85e6..97bd77a1e1 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -1,5 +1,6 @@ import json -from test.support import EnvironmentVarGuard + +from test import support from django.test import TestCase, override_settings import django.core.exceptions as django_exceptions @@ -449,7 +450,7 @@ class TestSettings(TestCase): def setUp(self) -> None: self.user_mdl = get_user_model() - self.env = EnvironmentVarGuard() + self.env = support.EnvironmentVarGuard() def run_reload(self): from plugin import registry From 27930cd8977ab805f2ad3f2bd838bde47e207886 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 17 May 2022 00:41:03 +1000 Subject: [PATCH 066/134] PEP style fixes --- InvenTree/InvenTree/exceptions.py | 4 +--- InvenTree/order/serializers.py | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/InvenTree/InvenTree/exceptions.py b/InvenTree/InvenTree/exceptions.py index 5ba0d80bec..0730442a08 100644 --- a/InvenTree/InvenTree/exceptions.py +++ b/InvenTree/InvenTree/exceptions.py @@ -5,8 +5,6 @@ Custom exception handling for the DRF API # -*- coding: utf-8 -*- from __future__ import unicode_literals -import json - from django.db.utils import OperationalError, ProgrammingError, IntegrityError from django.conf import settings from django.core.exceptions import ValidationError as DjangoValidationError @@ -76,7 +74,7 @@ def exception_handler(exc, context): if response is not None: # For an error response, include status code information response.data['status_code'] = response.status_code - + # Convert errors returned under the label '__all__' to 'non_field_errors' if '__all__' in response.data: response.data['non_field_errors'] = response.data['__all__'] diff --git a/InvenTree/order/serializers.py b/InvenTree/order/serializers.py index 1c261e7a86..ede4c806ef 100644 --- a/InvenTree/order/serializers.py +++ b/InvenTree/order/serializers.py @@ -1295,7 +1295,7 @@ class SalesOrderShipmentAllocationSerializer(serializers.Serializer): quantity=entry.get('quantity'), shipment=shipment, ) - + allocation.full_clean() allocation.save() From 2509db2b88d3b8f6aa1ce6ceae1f7a32aeec7ca1 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 17 May 2022 00:52:01 +1000 Subject: [PATCH 067/134] JS linting --- InvenTree/templates/js/translated/api.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/templates/js/translated/api.js b/InvenTree/templates/js/translated/api.js index 5ec63ba51c..17b1b2fca0 100644 --- a/InvenTree/templates/js/translated/api.js +++ b/InvenTree/templates/js/translated/api.js @@ -231,7 +231,7 @@ function showApiError(xhr, url) { // The server may have provided some extra information about this error if (response) { if (response.error) { - title = response.error + title = response.error; } if (response.detail) { From 048f1ad6019913ec667de6f95ff4943ad8edcad3 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 17 May 2022 01:03:02 +1000 Subject: [PATCH 068/134] Simplify DRF exception handler - Check the default handler first - If *any* other API requets throws an exception, will now pass through the custom handler --- InvenTree/InvenTree/exceptions.py | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/InvenTree/InvenTree/exceptions.py b/InvenTree/InvenTree/exceptions.py index 0730442a08..20d74fd4ac 100644 --- a/InvenTree/InvenTree/exceptions.py +++ b/InvenTree/InvenTree/exceptions.py @@ -5,7 +5,8 @@ Custom exception handling for the DRF API # -*- coding: utf-8 -*- from __future__ import unicode_literals -from django.db.utils import OperationalError, ProgrammingError, IntegrityError +import traceback + from django.conf import settings from django.core.exceptions import ValidationError as DjangoValidationError from django.utils.translation import gettext_lazy as _ @@ -32,17 +33,11 @@ def exception_handler(exc, context): if isinstance(exc, DjangoValidationError): exc = DRFValidationError(detail=serializers.as_serializer_error(exc)) - # Exceptions we will manually check for here - handled_exceptions = [ - IntegrityError, - OperationalError, - ProgrammingError, - ValueError, - TypeError, - NameError, - ] + # Default to the built-in DRF exception handler + response = drfviews.exception_handler(exc, context) - if any([isinstance(exc, err_type) for err_type in handled_exceptions]): + if response is None: + # DRF handler did not provide a default response for this exception if settings.DEBUG: error_detail = str(exc) @@ -59,18 +54,17 @@ def exception_handler(exc, context): response = Response(response_data, status=500) + # Format error traceback + trace = ''.join(traceback.format_exception(type(exc), exc, exc.__traceback__)) + # Log the exception to the database, too Error.objects.create( - kind="Unhandled DRF API Exception", + kind="Unhandled API Exception", info=str(type(exc)), - data=str(exc), + data=trace, path=context['request'].path, ) - else: - # Fallback to the default DRF exception handler - response = drfviews.exception_handler(exc, context) - if response is not None: # For an error response, include status code information response.data['status_code'] = response.status_code From 027a7c88de4644b3e6826e3be75605e6f9924f2e Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 17 May 2022 01:17:48 +1000 Subject: [PATCH 069/134] Copy error implementation from django-error-report lib Ref: https://github.com/mhsiddiqui/django-error-report/blob/master/error_report/middleware.py --- InvenTree/InvenTree/exceptions.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/InvenTree/InvenTree/exceptions.py b/InvenTree/InvenTree/exceptions.py index 20d74fd4ac..8403cbf4c8 100644 --- a/InvenTree/InvenTree/exceptions.py +++ b/InvenTree/InvenTree/exceptions.py @@ -6,10 +6,12 @@ Custom exception handling for the DRF API from __future__ import unicode_literals import traceback +import sys from django.conf import settings from django.core.exceptions import ValidationError as DjangoValidationError from django.utils.translation import gettext_lazy as _ +from django.views.debug import ExceptionReporter from error_report.models import Error @@ -54,15 +56,15 @@ def exception_handler(exc, context): response = Response(response_data, status=500) - # Format error traceback - trace = ''.join(traceback.format_exception(type(exc), exc, exc.__traceback__)) - # Log the exception to the database, too + kind, info, data = sys.exc_info() + Error.objects.create( - kind="Unhandled API Exception", - info=str(type(exc)), - data=trace, + kind=kind.__name__, + info=info, + data='\n'.join(traceback.format_exception(kind, info, data)), path=context['request'].path, + html=ExceptionReporter(context['request'], kind, info, data).get_traceback_html(), ) if response is not None: From 9ec626b650f33992d90f62aadcf5389741548594 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Mon, 16 May 2022 17:29:14 +0200 Subject: [PATCH 070/134] Also allow non string references Fixes #3005 --- InvenTree/InvenTree/tasks.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/InvenTree/InvenTree/tasks.py b/InvenTree/InvenTree/tasks.py index c156d421ab..8af30264d3 100644 --- a/InvenTree/InvenTree/tasks.py +++ b/InvenTree/InvenTree/tasks.py @@ -68,6 +68,10 @@ def offload_task(taskname, *args, force_sync=False, **kwargs): import importlib from InvenTree.status import is_worker_running + # make sure the taskname is a string + if not isinstance(taskname, str): + taskname = str(taskname) + if is_worker_running() and not force_sync: # pragma: no cover # Running as asynchronous task try: From 0f5c03e44cb8500e07f87bfd1d46ccd6cb8bc083 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Mon, 16 May 2022 17:45:51 +0200 Subject: [PATCH 071/134] use direct import instead of text for offload --- InvenTree/InvenTree/tasks.py | 3 ++- InvenTree/InvenTree/views.py | 8 ++------ InvenTree/build/models.py | 3 ++- InvenTree/common/test_tasks.py | 3 ++- InvenTree/label/api.py | 3 ++- InvenTree/part/models.py | 3 ++- InvenTree/part/tasks.py | 3 ++- InvenTree/stock/models.py | 5 +++-- 8 files changed, 17 insertions(+), 14 deletions(-) diff --git a/InvenTree/InvenTree/tasks.py b/InvenTree/InvenTree/tasks.py index 8af30264d3..cb52245740 100644 --- a/InvenTree/InvenTree/tasks.py +++ b/InvenTree/InvenTree/tasks.py @@ -11,6 +11,7 @@ from django.utils import timezone from django.core.exceptions import AppRegistryNotReady from django.db.utils import OperationalError, ProgrammingError +from django.core import mail as django_mail logger = logging.getLogger("inventree") @@ -292,7 +293,7 @@ def send_email(subject, body, recipients, from_email=None, html_message=None): recipients = [recipients] offload_task( - 'django.core.mail.send_mail', + django_mail.send_mail, subject, body, from_email, diff --git a/InvenTree/InvenTree/views.py b/InvenTree/InvenTree/views.py index 6291b321a8..f15452c697 100644 --- a/InvenTree/InvenTree/views.py +++ b/InvenTree/InvenTree/views.py @@ -797,13 +797,9 @@ class CurrencyRefreshView(RedirectView): On a POST request we will attempt to refresh the exchange rates """ - from InvenTree.tasks import offload_task + from InvenTree.tasks import offload_task, update_exchange_rates - # Define associated task from InvenTree.tasks list of methods - taskname = 'InvenTree.tasks.update_exchange_rates' - - # Run it - offload_task(taskname, force_sync=True) + offload_task(update_exchange_rates, force_sync=True) return redirect(reverse_lazy('settings')) diff --git a/InvenTree/build/models.py b/InvenTree/build/models.py index a1517d73dd..e7a1bbd1b3 100644 --- a/InvenTree/build/models.py +++ b/InvenTree/build/models.py @@ -41,6 +41,7 @@ from plugin.events import trigger_event from part import models as PartModels from stock import models as StockModels from users import models as UserModels +from . import tasks as build_tasks def get_next_build_number(): @@ -1146,7 +1147,7 @@ def after_save_build(sender, instance: Build, created: bool, **kwargs): # A new Build has just been created # Run checks on required parts - InvenTree.tasks.offload_task('build.tasks.check_build_stock', instance) + InvenTree.tasks.offload_task(build_tasks.check_build_stock, instance) class BuildOrderAttachment(InvenTreeAttachment): diff --git a/InvenTree/common/test_tasks.py b/InvenTree/common/test_tasks.py index 3f85316c41..c28a1d19fe 100644 --- a/InvenTree/common/test_tasks.py +++ b/InvenTree/common/test_tasks.py @@ -2,6 +2,7 @@ from django.test import TestCase from common.models import NotificationEntry +from . import tasks as common_tasks from InvenTree.tasks import offload_task @@ -14,4 +15,4 @@ class TaskTest(TestCase): # check empty run self.assertEqual(NotificationEntry.objects.all().count(), 0) - offload_task('common.tasks.delete_old_notifications',) + offload_task(common_tasks.delete_old_notifications,) diff --git a/InvenTree/label/api.py b/InvenTree/label/api.py index cb4b939157..34ced6a3cd 100644 --- a/InvenTree/label/api.py +++ b/InvenTree/label/api.py @@ -24,6 +24,7 @@ from plugin.registry import registry from stock.models import StockItem, StockLocation from part.models import Part +from plugin.base.label import label as plugin_label from .models import StockItemLabel, StockLocationLabel, PartLabel from .serializers import StockItemLabelSerializer, StockLocationLabelSerializer, PartLabelSerializer @@ -156,7 +157,7 @@ class LabelPrintMixin: # Offload a background task to print the provided label offload_task( - 'plugin.base.label.label.print_label', + plugin_label.print_label, plugin.plugin_slug(), image, label_instance=label_instance, diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 96ffa581f4..229b25bf16 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -63,6 +63,7 @@ from stock import models as StockModels import common.models import part.settings as part_settings +from part import tasks as part_tasks logger = logging.getLogger("inventree") @@ -2298,7 +2299,7 @@ def after_save_part(sender, instance: Part, created, **kwargs): # Check part stock only if we are *updating* the part (not creating it) # Run this check in the background - InvenTree.tasks.offload_task('part.tasks.notify_low_stock_if_required', instance) + InvenTree.tasks.offload_task(part_tasks.notify_low_stock_if_required, instance) class PartAttachment(InvenTreeAttachment): diff --git a/InvenTree/part/tasks.py b/InvenTree/part/tasks.py index b158d26ad3..c8615bd4a2 100644 --- a/InvenTree/part/tasks.py +++ b/InvenTree/part/tasks.py @@ -10,6 +10,7 @@ import InvenTree.tasks import common.notifications import part.models +from part import tasks as part_tasks logger = logging.getLogger("inventree") @@ -49,6 +50,6 @@ def notify_low_stock_if_required(part: part.models.Part): for p in parts: if p.is_part_low_on_stock(): InvenTree.tasks.offload_task( - 'part.tasks.notify_low_stock', + part_tasks.notify_low_stock, p ) diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index a46d43b007..69be97cf4b 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -49,6 +49,7 @@ from users.models import Owner from company import models as CompanyModels from part import models as PartModels +from part import tasks as part_tasks class StockLocation(InvenTreeTree): @@ -2026,7 +2027,7 @@ def after_delete_stock_item(sender, instance: StockItem, **kwargs): if not InvenTree.ready.isImportingData(): # Run this check in the background - InvenTree.tasks.offload_task('part.tasks.notify_low_stock_if_required', instance.part) + InvenTree.tasks.offload_task(part_tasks.notify_low_stock_if_required, instance.part) @receiver(post_save, sender=StockItem, dispatch_uid='stock_item_post_save_log') @@ -2037,7 +2038,7 @@ def after_save_stock_item(sender, instance: StockItem, created, **kwargs): if not InvenTree.ready.isImportingData(): # Run this check in the background - InvenTree.tasks.offload_task('part.tasks.notify_low_stock_if_required', instance.part) + InvenTree.tasks.offload_task(part_tasks.notify_low_stock_if_required, instance.part) class StockItemAttachment(InvenTreeAttachment): From a9cfdf8fdb6853f175cdc31abc2dec91ec6dcf3a Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Mon, 16 May 2022 17:52:36 +0200 Subject: [PATCH 072/134] fix import --- InvenTree/part/tasks.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/InvenTree/part/tasks.py b/InvenTree/part/tasks.py index c8615bd4a2..d0c91ac79d 100644 --- a/InvenTree/part/tasks.py +++ b/InvenTree/part/tasks.py @@ -10,7 +10,6 @@ import InvenTree.tasks import common.notifications import part.models -from part import tasks as part_tasks logger = logging.getLogger("inventree") @@ -50,6 +49,6 @@ def notify_low_stock_if_required(part: part.models.Part): for p in parts: if p.is_part_low_on_stock(): InvenTree.tasks.offload_task( - part_tasks.notify_low_stock, + notify_low_stock, p ) From 18a263ff75e9e26fe4385d09eec3c9b58027776e Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Mon, 16 May 2022 17:55:45 +0200 Subject: [PATCH 073/134] do a local import --- InvenTree/part/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 67afef4923..fa0f1816f8 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -59,7 +59,6 @@ from order import models as OrderModels from company.models import SupplierPart import part.settings as part_settings from stock import models as StockModels -from part import tasks as part_tasks from plugin.models import MetadataMixin @@ -2291,6 +2290,7 @@ def after_save_part(sender, instance: Part, created, **kwargs): """ Function to be executed after a Part is saved """ + from part import tasks as part_tasks if not created and not InvenTree.ready.isImportingData(): # Check part stock only if we are *updating* the part (not creating it) From cce3d3a35deaae30adda964d2a3f8581e4ad0362 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Mon, 16 May 2022 18:01:16 +0200 Subject: [PATCH 074/134] make imports on function level --- InvenTree/build/models.py | 2 +- InvenTree/stock/models.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/InvenTree/build/models.py b/InvenTree/build/models.py index fa81111f18..0f539dc158 100644 --- a/InvenTree/build/models.py +++ b/InvenTree/build/models.py @@ -39,7 +39,6 @@ from plugin.events import trigger_event from part import models as PartModels from stock import models as StockModels from users import models as UserModels -from . import tasks as build_tasks def get_next_build_number(): @@ -1140,6 +1139,7 @@ def after_save_build(sender, instance: Build, created: bool, **kwargs): """ Callback function to be executed after a Build instance is saved """ + from . import tasks as build_tasks if created: # A new Build has just been created diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index b3eed54c5f..6cd0469b75 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -46,7 +46,6 @@ from users.models import Owner from company import models as CompanyModels from part import models as PartModels -from part import tasks as part_tasks class StockLocation(MetadataMixin, InvenTreeTree): @@ -2021,6 +2020,7 @@ def after_delete_stock_item(sender, instance: StockItem, **kwargs): """ Function to be executed after a StockItem object is deleted """ + from part import tasks as part_tasks if not InvenTree.ready.isImportingData(): # Run this check in the background @@ -2032,6 +2032,7 @@ def after_save_stock_item(sender, instance: StockItem, created, **kwargs): """ Hook function to be executed after StockItem object is saved/updated """ + from part import tasks as part_tasks if not InvenTree.ready.isImportingData(): # Run this check in the background From 30dbfa9a4fb5399d6915eafd8a5da1c710ffaa49 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Mon, 16 May 2022 18:21:58 +0200 Subject: [PATCH 075/134] add tests for InvenTree.tasks --- InvenTree/InvenTree/test_tasks.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/InvenTree/InvenTree/test_tasks.py b/InvenTree/InvenTree/test_tasks.py index e9c9d9f01c..c00931b237 100644 --- a/InvenTree/InvenTree/test_tasks.py +++ b/InvenTree/InvenTree/test_tasks.py @@ -41,3 +41,22 @@ class ScheduledTaskTests(TestCase): # But the 'minutes' should have been updated t = Schedule.objects.get(func=task) self.assertEqual(t.minutes, 5) + +class InvenTreeTaskTests(TestCase): + """Unit tests for tasks""" + + def test_task_hearbeat(self, name): + """Test the task heartbeat""" + InvenTree.tasks.offload_task(InvenTree.tasks.heartbeat) + + def test_task_delete_successful_tasks(self, name): + """Test the task delete_successful_tasks""" + InvenTree.tasks.offload_task(InvenTree.tasks.delete_successful_tasks) + + def test_task_delete_old_error_logs(self, name): + """Test the task delete_old_error_logs""" + InvenTree.tasks.offload_task(InvenTree.tasks.delete_old_error_logs) + + def test_task_check_for_updates(self, name): + """Test the task check_for_updates""" + InvenTree.tasks.offload_task(InvenTree.tasks.check_for_updates) From 7fc408cf607c1bbcd81403bcd9d25742bdb8e305 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Mon, 16 May 2022 18:29:41 +0200 Subject: [PATCH 076/134] move exceptions up --- InvenTree/InvenTree/tasks.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/InvenTree/InvenTree/tasks.py b/InvenTree/InvenTree/tasks.py index e2869c6a46..bdcf2fe413 100644 --- a/InvenTree/InvenTree/tasks.py +++ b/InvenTree/InvenTree/tasks.py @@ -68,6 +68,11 @@ def offload_task(taskname, *args, force_sync=False, **kwargs): import importlib from InvenTree.status import is_worker_running + except AppRegistryNotReady: # pragma: no cover + logger.warning(f"Could not offload task '{taskname}' - app registry not ready") + return + except (OperationalError, ProgrammingError): # pragma: no cover + logger.warning(f"Could not offload task '{taskname}' - database not ready") # make sure the taskname is a string if not isinstance(taskname, str): @@ -113,11 +118,6 @@ def offload_task(taskname, *args, force_sync=False, **kwargs): # Workers are not running: run it as synchronous task _func(*args, **kwargs) - except AppRegistryNotReady: # pragma: no cover - logger.warning(f"Could not offload task '{taskname}' - app registry not ready") - return - except (OperationalError, ProgrammingError): # pragma: no cover - logger.warning(f"Could not offload task '{taskname}' - database not ready") def heartbeat(): From 763cd13b7ccefbf8b1da758e0b2a497f9046db57 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Mon, 16 May 2022 18:30:37 +0200 Subject: [PATCH 077/134] use a function if it was passed --- InvenTree/InvenTree/tasks.py | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/InvenTree/InvenTree/tasks.py b/InvenTree/InvenTree/tasks.py index bdcf2fe413..cd06acfe3d 100644 --- a/InvenTree/InvenTree/tasks.py +++ b/InvenTree/InvenTree/tasks.py @@ -74,17 +74,18 @@ def offload_task(taskname, *args, force_sync=False, **kwargs): except (OperationalError, ProgrammingError): # pragma: no cover logger.warning(f"Could not offload task '{taskname}' - database not ready") - # make sure the taskname is a string - if not isinstance(taskname, str): - taskname = str(taskname) + if is_worker_running() and not force_sync: # pragma: no cover + # Running as asynchronous task + try: + task = AsyncTask(taskname, *args, **kwargs) + task.run() + except ImportError: + logger.warning(f"WARNING: '{taskname}' not started - Function not found") + else: - if is_worker_running() and not force_sync: # pragma: no cover - # Running as asynchronous task - try: - task = AsyncTask(taskname, *args, **kwargs) - task.run() - except ImportError: - logger.warning(f"WARNING: '{taskname}' not started - Function not found") + if isinstance(taskname, function): + # function was passed - use that + _func = taskname else: # Split path try: @@ -115,8 +116,8 @@ def offload_task(taskname, *args, force_sync=False, **kwargs): logger.warning(f"WARNING: '{taskname}' not started - No function named '{func}'") return - # Workers are not running: run it as synchronous task - _func(*args, **kwargs) + # Workers are not running: run it as synchronous task + _func(*args, **kwargs) From 79b4b23a07ce4a7103afbcfc8d82d0a443326a0a Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Mon, 16 May 2022 18:33:49 +0200 Subject: [PATCH 078/134] pep fix --- InvenTree/InvenTree/tasks.py | 1 - InvenTree/InvenTree/test_tasks.py | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/tasks.py b/InvenTree/InvenTree/tasks.py index cd06acfe3d..97b2393df5 100644 --- a/InvenTree/InvenTree/tasks.py +++ b/InvenTree/InvenTree/tasks.py @@ -120,7 +120,6 @@ def offload_task(taskname, *args, force_sync=False, **kwargs): _func(*args, **kwargs) - def heartbeat(): """ Simple task which runs at 5 minute intervals, diff --git a/InvenTree/InvenTree/test_tasks.py b/InvenTree/InvenTree/test_tasks.py index c00931b237..f571eee8cd 100644 --- a/InvenTree/InvenTree/test_tasks.py +++ b/InvenTree/InvenTree/test_tasks.py @@ -42,6 +42,7 @@ class ScheduledTaskTests(TestCase): t = Schedule.objects.get(func=task) self.assertEqual(t.minutes, 5) + class InvenTreeTaskTests(TestCase): """Unit tests for tasks""" From 07711b8e747110541386dbbe383d1e37b9f475ce Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Mon, 16 May 2022 18:34:02 +0200 Subject: [PATCH 079/134] fix check --- InvenTree/InvenTree/tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/tasks.py b/InvenTree/InvenTree/tasks.py index 97b2393df5..40e63108e9 100644 --- a/InvenTree/InvenTree/tasks.py +++ b/InvenTree/InvenTree/tasks.py @@ -83,7 +83,7 @@ def offload_task(taskname, *args, force_sync=False, **kwargs): logger.warning(f"WARNING: '{taskname}' not started - Function not found") else: - if isinstance(taskname, function): + if callable(taskname): # function was passed - use that _func = taskname else: From fc8a63325e803f4a3843ba7f07ad88d75d246fd9 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Mon, 16 May 2022 18:57:27 +0200 Subject: [PATCH 080/134] that was a stupid misstake --- InvenTree/InvenTree/test_tasks.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/InvenTree/InvenTree/test_tasks.py b/InvenTree/InvenTree/test_tasks.py index f571eee8cd..0d043bd9f8 100644 --- a/InvenTree/InvenTree/test_tasks.py +++ b/InvenTree/InvenTree/test_tasks.py @@ -46,18 +46,18 @@ class ScheduledTaskTests(TestCase): class InvenTreeTaskTests(TestCase): """Unit tests for tasks""" - def test_task_hearbeat(self, name): + def test_task_hearbeat(self): """Test the task heartbeat""" InvenTree.tasks.offload_task(InvenTree.tasks.heartbeat) - def test_task_delete_successful_tasks(self, name): + def test_task_delete_successful_tasks(self): """Test the task delete_successful_tasks""" InvenTree.tasks.offload_task(InvenTree.tasks.delete_successful_tasks) - def test_task_delete_old_error_logs(self, name): + def test_task_delete_old_error_logs(self): """Test the task delete_old_error_logs""" InvenTree.tasks.offload_task(InvenTree.tasks.delete_old_error_logs) - def test_task_check_for_updates(self, name): + def test_task_check_for_updates(self): """Test the task check_for_updates""" InvenTree.tasks.offload_task(InvenTree.tasks.check_for_updates) From eb24bf78b8ee0ed12d7e69ea474e5711527c0cd1 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Mon, 16 May 2022 19:39:43 +0200 Subject: [PATCH 081/134] external api failures are not covered --- InvenTree/InvenTree/tasks.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/InvenTree/InvenTree/tasks.py b/InvenTree/InvenTree/tasks.py index 40e63108e9..6dc8b7d297 100644 --- a/InvenTree/InvenTree/tasks.py +++ b/InvenTree/InvenTree/tasks.py @@ -210,25 +210,25 @@ def check_for_updates(): response = requests.get('https://api.github.com/repos/inventree/inventree/releases/latest') if response.status_code != 200: - raise ValueError(f'Unexpected status code from GitHub API: {response.status_code}') + raise ValueError(f'Unexpected status code from GitHub API: {response.status_code}') # pragma: no cover data = json.loads(response.text) tag = data.get('tag_name', None) if not tag: - raise ValueError("'tag_name' missing from GitHub response") + raise ValueError("'tag_name' missing from GitHub response") # pragma: no cover match = re.match(r"^.*(\d+)\.(\d+)\.(\d+).*$", tag) - if len(match.groups()) != 3: + if len(match.groups()) != 3: # pragma: no cover logger.warning(f"Version '{tag}' did not match expected pattern") return latest_version = [int(x) for x in match.groups()] if len(latest_version) != 3: - raise ValueError(f"Version '{tag}' is not correct format") + raise ValueError(f"Version '{tag}' is not correct format") # pragma: no cover logger.info(f"Latest InvenTree version: '{tag}'") From 2ec59a6ad22200906ab2b520f042f7e0fe64fd1b Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Mon, 16 May 2022 19:45:00 +0200 Subject: [PATCH 082/134] extend tests for task_delete_succ --- InvenTree/InvenTree/test_tasks.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/InvenTree/InvenTree/test_tasks.py b/InvenTree/InvenTree/test_tasks.py index 0d043bd9f8..5a5e32d08d 100644 --- a/InvenTree/InvenTree/test_tasks.py +++ b/InvenTree/InvenTree/test_tasks.py @@ -2,6 +2,9 @@ Unit tests for task management """ +from datetime import timedelta + +from django.utils import timezone from django.test import TestCase from django_q.models import Schedule @@ -52,7 +55,19 @@ class InvenTreeTaskTests(TestCase): def test_task_delete_successful_tasks(self): """Test the task delete_successful_tasks""" + from django_q.models import Success + + Success.objects.create( + name='abc', + func='abc', + started=timezone.now() - timedelta(days=31) + ) InvenTree.tasks.offload_task(InvenTree.tasks.delete_successful_tasks) + threshold = timezone.now() - timedelta(days=30) + results = Success.objects.filter( + started__lte=threshold + ) + self.assertEqual(len(results, 0)) def test_task_delete_old_error_logs(self): """Test the task delete_old_error_logs""" From f3c4720f5b316e4d4778bf2df5b8285bae6b0fb9 Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 16 May 2022 23:41:33 +0200 Subject: [PATCH 083/134] extend update check --- InvenTree/InvenTree/test_tasks.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/InvenTree/InvenTree/test_tasks.py b/InvenTree/InvenTree/test_tasks.py index 5a5e32d08d..74eee7c73d 100644 --- a/InvenTree/InvenTree/test_tasks.py +++ b/InvenTree/InvenTree/test_tasks.py @@ -9,6 +9,7 @@ from django.test import TestCase from django_q.models import Schedule import InvenTree.tasks +from common.models import InvenTreeSetting class ScheduledTaskTests(TestCase): @@ -75,4 +76,13 @@ class InvenTreeTaskTests(TestCase): def test_task_check_for_updates(self): """Test the task check_for_updates""" + # Check that setting should be empty + self.assertEqual(InvenTreeSetting.get_setting('INVENTREE_LATEST_VERSION'), '') + + # Get new version InvenTree.tasks.offload_task(InvenTree.tasks.check_for_updates) + + # Check that setting is not empty + response = InvenTreeSetting.get_setting('INVENTREE_LATEST_VERSION') + self.assertNotEqual(response, '') + self.assertTrue(bool(response)) From 09bda7e516b247cbc69541fa9e3339d7663488d9 Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 16 May 2022 23:42:09 +0200 Subject: [PATCH 084/134] add checks for old_error_log --- InvenTree/InvenTree/test_tasks.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/InvenTree/InvenTree/test_tasks.py b/InvenTree/InvenTree/test_tasks.py index 74eee7c73d..9952eccff4 100644 --- a/InvenTree/InvenTree/test_tasks.py +++ b/InvenTree/InvenTree/test_tasks.py @@ -8,10 +8,16 @@ from django.utils import timezone from django.test import TestCase from django_q.models import Schedule +from error_report.models import Error + import InvenTree.tasks from common.models import InvenTreeSetting +threshold = timezone.now() - timedelta(days=30) +threshold_low = threshold - timedelta(days=1) + + class ScheduledTaskTests(TestCase): """ Unit tests for scheduled tasks @@ -72,8 +78,23 @@ class InvenTreeTaskTests(TestCase): def test_task_delete_old_error_logs(self): """Test the task delete_old_error_logs""" + + # Create error + error_obj = Error.objects.create() + error_obj.when = threshold_low + error_obj.save() + + # Check that it is not empty + errors = Error.objects.filter(when__lte=threshold,) + self.assertNotEqual(len(errors), 0) + + # Run action InvenTree.tasks.offload_task(InvenTree.tasks.delete_old_error_logs) + # Check that it is empty again + errors = Error.objects.filter(when__lte=threshold,) + self.assertEqual(len(errors), 0) + def test_task_check_for_updates(self): """Test the task check_for_updates""" # Check that setting should be empty From 9f3fdcb59074d81235e5fb7f086743f7cc5d7f78 Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 16 May 2022 23:43:07 +0200 Subject: [PATCH 085/134] make test simpler --- InvenTree/InvenTree/test_tasks.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/InvenTree/InvenTree/test_tasks.py b/InvenTree/InvenTree/test_tasks.py index 9952eccff4..bbcf7a4799 100644 --- a/InvenTree/InvenTree/test_tasks.py +++ b/InvenTree/InvenTree/test_tasks.py @@ -64,16 +64,9 @@ class InvenTreeTaskTests(TestCase): """Test the task delete_successful_tasks""" from django_q.models import Success - Success.objects.create( - name='abc', - func='abc', - started=timezone.now() - timedelta(days=31) - ) + Success.objects.create(name='abc', func='abc', stopped=threshold, started=threshold_low) InvenTree.tasks.offload_task(InvenTree.tasks.delete_successful_tasks) - threshold = timezone.now() - timedelta(days=30) - results = Success.objects.filter( - started__lte=threshold - ) + results = Success.objects.filter(started__lte=threshold) self.assertEqual(len(results, 0)) def test_task_delete_old_error_logs(self): From 3e859f7abbcc0ba0b8bbc2815b087ad999706043 Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 16 May 2022 23:51:17 +0200 Subject: [PATCH 086/134] fix assertation --- InvenTree/InvenTree/test_tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/test_tasks.py b/InvenTree/InvenTree/test_tasks.py index bbcf7a4799..0b6cd08ae1 100644 --- a/InvenTree/InvenTree/test_tasks.py +++ b/InvenTree/InvenTree/test_tasks.py @@ -67,7 +67,7 @@ class InvenTreeTaskTests(TestCase): Success.objects.create(name='abc', func='abc', stopped=threshold, started=threshold_low) InvenTree.tasks.offload_task(InvenTree.tasks.delete_successful_tasks) results = Success.objects.filter(started__lte=threshold) - self.assertEqual(len(results, 0)) + self.assertEqual(len(results), 0) def test_task_delete_old_error_logs(self): """Test the task delete_old_error_logs""" From b3e42f5fb04b992187cc1e01ea0b6b8d80953ced Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 17 May 2022 00:13:39 +0200 Subject: [PATCH 087/134] Add tests for offloading --- InvenTree/InvenTree/test_tasks.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/InvenTree/InvenTree/test_tasks.py b/InvenTree/InvenTree/test_tasks.py index 0b6cd08ae1..1502037dba 100644 --- a/InvenTree/InvenTree/test_tasks.py +++ b/InvenTree/InvenTree/test_tasks.py @@ -53,9 +53,31 @@ class ScheduledTaskTests(TestCase): self.assertEqual(t.minutes, 5) +def get_result(): + """Demo function for test_offloading""" + return 'abc' + + class InvenTreeTaskTests(TestCase): """Unit tests for tasks""" + def test_offloading(self): + """Test task offloading""" + + # Run with function ref + InvenTree.tasks.offload_task(get_result) + + # Run with string ref + InvenTree.tasks.offload_task('InvenTree.test_tasks.get_result') + + # Error runs + # Malformed taskname + InvenTree.tasks.offload_task('InvenTree') + # Non exsistent app + InvenTree.tasks.offload_task('InvenTreeABC.test_tasks.doesnotmatter') + # Non exsistent function + InvenTree.tasks.offload_task('InvenTree.test_tasks.doesnotexsist') + def test_task_hearbeat(self): """Test the task heartbeat""" InvenTree.tasks.offload_task(InvenTree.tasks.heartbeat) From aa7fcb36012da7d45bbe0dcc2ff844c1ca5bd8bd Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 17 May 2022 08:23:39 +1000 Subject: [PATCH 088/134] Remove status_code addition --- InvenTree/InvenTree/exceptions.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/InvenTree/InvenTree/exceptions.py b/InvenTree/InvenTree/exceptions.py index 8403cbf4c8..46b1a1ee0a 100644 --- a/InvenTree/InvenTree/exceptions.py +++ b/InvenTree/InvenTree/exceptions.py @@ -68,9 +68,6 @@ def exception_handler(exc, context): ) if response is not None: - # For an error response, include status code information - response.data['status_code'] = response.status_code - # Convert errors returned under the label '__all__' to 'non_field_errors' if '__all__' in response.data: response.data['non_field_errors'] = response.data['__all__'] From 09af7d964dec7f107a6924a2a542dfb91aae6a3d Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 17 May 2022 00:24:02 +0200 Subject: [PATCH 089/134] raise a warning for assertations --- InvenTree/InvenTree/tasks.py | 21 ++++++++++++++++----- InvenTree/InvenTree/test_tasks.py | 11 ++++++++--- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/InvenTree/InvenTree/tasks.py b/InvenTree/InvenTree/tasks.py index 6dc8b7d297..a750c393e6 100644 --- a/InvenTree/InvenTree/tasks.py +++ b/InvenTree/InvenTree/tasks.py @@ -3,6 +3,7 @@ from __future__ import unicode_literals import re import json +import warnings import requests import logging @@ -12,6 +13,7 @@ from django.utils import timezone from django.core.exceptions import AppRegistryNotReady from django.db.utils import OperationalError, ProgrammingError from django.core import mail as django_mail +from django.conf import settings logger = logging.getLogger("inventree") @@ -53,6 +55,15 @@ def schedule_task(taskname, **kwargs): pass +def raise_warning(msg): + """Log and raise a warning""" + logger.warning(msg) + + # If testing is running raise a warning that can be asserted + if settings.TESTING: + warnings.warn(msg) + + def offload_task(taskname, *args, force_sync=False, **kwargs): """ Create an AsyncTask if workers are running. @@ -72,7 +83,7 @@ def offload_task(taskname, *args, force_sync=False, **kwargs): logger.warning(f"Could not offload task '{taskname}' - app registry not ready") return except (OperationalError, ProgrammingError): # pragma: no cover - logger.warning(f"Could not offload task '{taskname}' - database not ready") + raise_warning(f"Could not offload task '{taskname}' - database not ready") if is_worker_running() and not force_sync: # pragma: no cover # Running as asynchronous task @@ -80,7 +91,7 @@ def offload_task(taskname, *args, force_sync=False, **kwargs): task = AsyncTask(taskname, *args, **kwargs) task.run() except ImportError: - logger.warning(f"WARNING: '{taskname}' not started - Function not found") + raise_warning(f"WARNING: '{taskname}' not started - Function not found") else: if callable(taskname): @@ -92,14 +103,14 @@ def offload_task(taskname, *args, force_sync=False, **kwargs): app, mod, func = taskname.split('.') app_mod = app + '.' + mod except ValueError: - logger.warning(f"WARNING: '{taskname}' not started - Malformed function path") + raise_warning(f"WARNING: '{taskname}' not started - Malformed function path") return # Import module from app try: _mod = importlib.import_module(app_mod) except ModuleNotFoundError: - logger.warning(f"WARNING: '{taskname}' not started - No module named '{app_mod}'") + raise_warning(f"WARNING: '{taskname}' not started - No module named '{app_mod}'") return # Retrieve function @@ -113,7 +124,7 @@ def offload_task(taskname, *args, force_sync=False, **kwargs): if not _func: _func = eval(func) # pragma: no cover except NameError: - logger.warning(f"WARNING: '{taskname}' not started - No function named '{func}'") + raise_warning(f"WARNING: '{taskname}' not started - No function named '{func}'") return # Workers are not running: run it as synchronous task diff --git a/InvenTree/InvenTree/test_tasks.py b/InvenTree/InvenTree/test_tasks.py index 1502037dba..eb307f2292 100644 --- a/InvenTree/InvenTree/test_tasks.py +++ b/InvenTree/InvenTree/test_tasks.py @@ -72,11 +72,16 @@ class InvenTreeTaskTests(TestCase): # Error runs # Malformed taskname - InvenTree.tasks.offload_task('InvenTree') + with self.assertWarnsMessage(UserWarning, "WARNING: 'InvenTree' not started - Malformed function path"): + InvenTree.tasks.offload_task('InvenTree') + # Non exsistent app - InvenTree.tasks.offload_task('InvenTreeABC.test_tasks.doesnotmatter') + with self.assertWarnsMessage(UserWarning, "WARNING: 'InvenTreeABC.test_tasks.doesnotmatter' not started - No module named 'InvenTreeABC'"): + InvenTree.tasks.offload_task('InvenTreeABC.test_tasks.doesnotmatter') + # Non exsistent function - InvenTree.tasks.offload_task('InvenTree.test_tasks.doesnotexsist') + with self.assertWarnsMessage(UserWarning, "WARNING: 'InvenTree.test_tasks.doesnotexsist' not started - No function named 'doesnotexsist'"): + InvenTree.tasks.offload_task('InvenTree.test_tasks.doesnotexsist') def test_task_hearbeat(self): """Test the task heartbeat""" From 825c50a43808b62b5bdd13ee3ca57dc8688859e8 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 17 May 2022 08:40:43 +1000 Subject: [PATCH 090/134] Change import style --- InvenTree/InvenTree/tests.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index dc3aff85e6..5ec8a863bc 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -1,5 +1,5 @@ import json -from test.support import EnvironmentVarGuard +from test import support from django.test import TestCase, override_settings import django.core.exceptions as django_exceptions @@ -449,7 +449,7 @@ class TestSettings(TestCase): def setUp(self) -> None: self.user_mdl = get_user_model() - self.env = EnvironmentVarGuard() + self.env = support.EnvironmentVarGuard() def run_reload(self): from plugin import registry From 728cccc469db3c583a83ebbbb60d7f9594156f65 Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 17 May 2022 00:53:51 +0200 Subject: [PATCH 091/134] fix assertation --- InvenTree/InvenTree/test_tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/test_tasks.py b/InvenTree/InvenTree/test_tasks.py index eb307f2292..c8497e2241 100644 --- a/InvenTree/InvenTree/test_tasks.py +++ b/InvenTree/InvenTree/test_tasks.py @@ -76,7 +76,7 @@ class InvenTreeTaskTests(TestCase): InvenTree.tasks.offload_task('InvenTree') # Non exsistent app - with self.assertWarnsMessage(UserWarning, "WARNING: 'InvenTreeABC.test_tasks.doesnotmatter' not started - No module named 'InvenTreeABC'"): + with self.assertWarnsMessage(UserWarning, "WARNING: 'InvenTreeABC.test_tasks.doesnotmatter' not started - No module named 'InvenTreeABC.test_tasks'"): InvenTree.tasks.offload_task('InvenTreeABC.test_tasks.doesnotmatter') # Non exsistent function From fb55f5d2a2e0a243547a7a7d72002bd8fac24e90 Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 17 May 2022 01:32:08 +0200 Subject: [PATCH 092/134] convert remaining function --- InvenTree/plugin/base/event/events.py | 4 ++-- InvenTree/plugin/base/locate/api.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/InvenTree/plugin/base/event/events.py b/InvenTree/plugin/base/event/events.py index 4b9c44521d..4dea7525b3 100644 --- a/InvenTree/plugin/base/event/events.py +++ b/InvenTree/plugin/base/event/events.py @@ -37,7 +37,7 @@ def trigger_event(event, *args, **kwargs): logger.debug(f"Event triggered: '{event}'") offload_task( - 'plugin.events.register_event', + register_event, event, *args, **kwargs @@ -72,7 +72,7 @@ def register_event(event, *args, **kwargs): # Offload a separate task for each plugin offload_task( - 'plugin.events.process_event', + process_event, slug, event, *args, diff --git a/InvenTree/plugin/base/locate/api.py b/InvenTree/plugin/base/locate/api.py index 30c6d749a9..020951b283 100644 --- a/InvenTree/plugin/base/locate/api.py +++ b/InvenTree/plugin/base/locate/api.py @@ -56,7 +56,7 @@ class LocatePluginView(APIView): try: StockItem.objects.get(pk=item_pk) - offload_task('plugin.registry.call_function', plugin, 'locate_stock_item', item_pk) + offload_task(registry.call_function, plugin, 'locate_stock_item', item_pk) data['item'] = item_pk @@ -69,7 +69,7 @@ class LocatePluginView(APIView): try: StockLocation.objects.get(pk=location_pk) - offload_task('plugin.registry.call_function', plugin, 'locate_stock_location', location_pk) + offload_task(registry.call_function, plugin, 'locate_stock_location', location_pk) data['location'] = location_pk From 256451d82b590fce0daeba7c5c84f28216c8b76e Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 17 May 2022 11:52:42 +1000 Subject: [PATCH 093/134] Fix context such that build output can be deleted --- InvenTree/build/api.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/InvenTree/build/api.py b/InvenTree/build/api.py index c8c54b3a43..c6c1c73128 100644 --- a/InvenTree/build/api.py +++ b/InvenTree/build/api.py @@ -282,6 +282,13 @@ class BuildOutputDelete(BuildOrderContextMixin, generics.CreateAPIView): API endpoint for deleting multiple build outputs """ + def get_serializer_context(self): + ctx = super().get_serializer_context() + + ctx['to_complete'] = False + + return ctx + queryset = Build.objects.none() serializer_class = build.serializers.BuildOutputDeleteSerializer From 5a0acedce6994333a9cf98f307afa0ba64d244c3 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 17 May 2022 13:00:53 +1000 Subject: [PATCH 094/134] Add unit tests for BuildOutputCreate serializer --- InvenTree/build/serializers.py | 5 +- InvenTree/build/test_api.py | 96 ++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+), 3 deletions(-) diff --git a/InvenTree/build/serializers.py b/InvenTree/build/serializers.py index ebd98fefc9..e4919f1433 100644 --- a/InvenTree/build/serializers.py +++ b/InvenTree/build/serializers.py @@ -199,7 +199,7 @@ class BuildOutputCreateSerializer(serializers.Serializer): def validate_quantity(self, quantity): - if quantity < 0: + if quantity <= 0: raise ValidationError(_("Quantity must be greater than zero")) part = self.get_part() @@ -209,7 +209,7 @@ class BuildOutputCreateSerializer(serializers.Serializer): if part.trackable: raise ValidationError(_("Integer quantity required for trackable parts")) - if part.has_trackable_parts(): + if part.has_trackable_parts: raise ValidationError(_("Integer quantity required, as the bill of materials contains trackable parts")) return quantity @@ -232,7 +232,6 @@ class BuildOutputCreateSerializer(serializers.Serializer): serial_numbers = serial_numbers.strip() - # TODO: Field level validation necessary here? return serial_numbers auto_allocate = serializers.BooleanField( diff --git a/InvenTree/build/test_api.py b/InvenTree/build/test_api.py index a54a92dda8..2c2afa1842 100644 --- a/InvenTree/build/test_api.py +++ b/InvenTree/build/test_api.py @@ -305,6 +305,102 @@ class BuildTest(BuildAPITest): self.assertEqual(bo.status, BuildStatus.CANCELLED) + def test_create_delete_output(self): + """ + Test that we can create and delete build outputs via the API + """ + + bo = Build.objects.get(pk=1) + + n_outputs = bo.output_count + + create_url = reverse('api-build-output-create', kwargs={'pk': 1}) + + # Attempt to create outputs with invalid data + response = self.post( + create_url, + { + 'quantity': 'not a number', + }, + expected_code=400 + ) + + self.assertIn('A valid number is required', str(response.data)) + + for q in [-100, -10.3, 0]: + + response = self.post( + create_url, + { + 'quantity': q, + }, + expected_code=400 + ) + + if q == 0: + self.assertIn('Quantity must be greater than zero', str(response.data)) + else: + self.assertIn('Ensure this value is greater than or equal to 0', str(response.data)) + + # Mark the part being built as 'trackable' (requires integer quantity) + bo.part.trackable = True + bo.part.save() + + response = self.post( + create_url, + { + 'quantity': 12.3, + }, + expected_code=400 + ) + + self.assertIn('Integer quantity required for trackable parts', str(response.data)) + + # Erroneous serial numbers + response = self.post( + create_url, + { + 'quantity': 5, + 'serial_numbers': '1, 2, 3, 4, 5, 6', + 'batch': 'my-batch', + }, + expected_code=400 + ) + + self.assertIn('Number of unique serial numbers (6) must match quantity (5)', str(response.data)) + + # At this point, no new build outputs should have been created + self.assertEqual(n_outputs, bo.output_count) + + # Now, create with *good* data + response = self.post( + create_url, + { + 'quantity': 5, + 'serial_numbers': '1, 2, 3, 4, 5', + 'batch': 'my-batch', + }, + expected_code=201, + ) + + # 5 new outputs have been created + self.assertEqual(n_outputs + 5, bo.output_count) + + # Attempt to create with identical serial numbers + response = self.post( + create_url, + { + 'quantity': 3, + 'serial_numbers': '1-3', + }, + expected_code=400, + ) + + self.assertIn('The following serial numbers already exist : 1,2,3', str(response.data)) + + # Double check no new outputs have been created + self.assertEqual(n_outputs + 5, bo.output_count) + class BuildAllocationTest(BuildAPITest): """ From 01a30935f08199d96fe875ab349401ff400e4a36 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 17 May 2022 14:20:41 +1000 Subject: [PATCH 095/134] Add unit tests for BuildOutputDelete serializer --- InvenTree/build/test_api.py | 48 +++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/InvenTree/build/test_api.py b/InvenTree/build/test_api.py index 2c2afa1842..d66313c197 100644 --- a/InvenTree/build/test_api.py +++ b/InvenTree/build/test_api.py @@ -401,6 +401,54 @@ class BuildTest(BuildAPITest): # Double check no new outputs have been created self.assertEqual(n_outputs + 5, bo.output_count) + # Now, let's delete each build output individually via the API + outputs = bo.build_outputs.all() + + delete_url = reverse('api-build-output-delete', kwargs={'pk': 1}) + + # Mark 1 build output as complete + bo.complete_build_output(outputs[0], self.user) + + self.assertEqual(n_outputs + 5, bo.output_count) + self.assertEqual(1, bo.complete_count) + + # Delete all outputs at once + # Note: One has been completed, so this should fail! + response = self.post( + delete_url, + { + 'outputs': [ + { + 'output': output.pk, + } for output in outputs + ] + }, + expected_code=400 + ) + + self.assertIn('This build output has already been completed', str(response.data)) + + # No change to the build outputs + self.assertEqual(n_outputs + 5, bo.output_count) + self.assertEqual(1, bo.complete_count) + + # Let's delete 2 build outputs + response = self.post( + delete_url, + { + 'outputs': [ + { + 'output': output.pk, + } for output in outputs[1:3] + ] + }, + expected_code=201 + ) + + # Two build outputs have been removed + self.assertEqual(n_outputs + 3, bo.output_count) + self.assertEqual(1, bo.complete_count) + class BuildAllocationTest(BuildAPITest): """ From e7b458978c197b780f75358f443d6e6a72070a86 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 17 May 2022 15:10:48 +1000 Subject: [PATCH 096/134] More unit tests --- InvenTree/build/test_api.py | 65 +++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/InvenTree/build/test_api.py b/InvenTree/build/test_api.py index d66313c197..be64aa28c7 100644 --- a/InvenTree/build/test_api.py +++ b/InvenTree/build/test_api.py @@ -406,6 +406,16 @@ class BuildTest(BuildAPITest): delete_url = reverse('api-build-output-delete', kwargs={'pk': 1}) + response = self.post( + delete_url, + { + 'outputs': [], + }, + expected_code=400 + ) + + self.assertIn('A list of build outputs must be provided', str(response.data)) + # Mark 1 build output as complete bo.complete_build_output(outputs[0], self.user) @@ -449,6 +459,61 @@ class BuildTest(BuildAPITest): self.assertEqual(n_outputs + 3, bo.output_count) self.assertEqual(1, bo.complete_count) + # Tests for BuildOutputComplete serializer + complete_url = reverse('api-build-output-complete', kwargs={'pk': 1}) + + # Let's mark the remaining outputs as complete + response = self.post( + complete_url, + { + 'outputs': [], + 'location': 4, + }, + expected_code=400, + ) + + self.assertIn('A list of build outputs must be provided', str(response.data)) + + for output in outputs[3:]: + output.refresh_from_db() + self.assertTrue(output.is_building) + + response = self.post( + complete_url, + { + 'outputs': [ + { + 'output': output.pk + } for output in outputs[3:] + ], + 'location': 4, + }, + expected_code=201, + ) + + # Check that the outputs have been completed + self.assertEqual(3, bo.complete_count) + + for output in outputs[3:]: + output.refresh_from_db() + self.assertEqual(output.location.pk, 4) + self.assertFalse(output.is_building) + + # Try again, with an output which has already been completed + response = self.post( + complete_url, + { + 'outputs': [ + { + 'output': outputs.last().pk, + } + ] + }, + expected_code=400, + ) + + self.assertIn('This build output has already been completed', str(response.data)) + class BuildAllocationTest(BuildAPITest): """ From 9bcbaaa5f540a0791d7d16ad1562e7c697f6a35d Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 17 May 2022 16:57:31 +1000 Subject: [PATCH 097/134] Remove more python2 stuff --- InvenTree/InvenTree/filters.py | 3 --- InvenTree/InvenTree/metadata.py | 4 ---- InvenTree/InvenTree/models.py | 2 -- InvenTree/InvenTree/permissions.py | 3 --- InvenTree/InvenTree/tasks.py | 3 --- InvenTree/build/admin.py | 3 --- InvenTree/build/apps.py | 3 --- InvenTree/build/forms.py | 7 ------- InvenTree/build/tasks.py | 3 --- InvenTree/build/test_api.py | 3 --- InvenTree/build/tests.py | 3 --- InvenTree/common/admin.py | 3 --- InvenTree/common/tasks.py | 3 --- InvenTree/common/test_notifications.py | 3 --- InvenTree/common/tests.py | 3 +-- InvenTree/company/admin.py | 3 --- InvenTree/company/apps.py | 2 -- InvenTree/company/tests.py | 3 --- InvenTree/label/admin.py | 3 --- InvenTree/label/api.py | 3 --- InvenTree/label/serializers.py | 3 --- InvenTree/order/admin.py | 3 --- InvenTree/part/admin.py | 3 --- InvenTree/part/apps.py | 2 -- InvenTree/part/tasks.py | 3 --- InvenTree/part/test_api.py | 3 --- InvenTree/part/test_bom_item.py | 2 -- InvenTree/part/test_part.py | 3 --- InvenTree/plugin/admin.py | 2 -- InvenTree/plugin/apps.py | 2 -- InvenTree/plugin/base/locate/api.py | 3 --- .../plugin/builtin/integration/test_core_notifications.py | 3 --- InvenTree/plugin/test_api.py | 2 -- InvenTree/plugin/views.py | 2 -- InvenTree/report/admin.py | 3 --- InvenTree/report/api.py | 2 -- InvenTree/report/serializers.py | 2 -- InvenTree/report/tests.py | 2 -- InvenTree/stock/admin.py | 3 --- InvenTree/stock/apps.py | 1 - InvenTree/users/admin.py | 2 -- InvenTree/users/api.py | 3 --- InvenTree/users/apps.py | 3 --- InvenTree/users/tests.py | 3 --- 44 files changed, 1 insertion(+), 122 deletions(-) delete mode 100644 InvenTree/build/forms.py diff --git a/InvenTree/InvenTree/filters.py b/InvenTree/InvenTree/filters.py index 8272673fc3..f0058e399a 100644 --- a/InvenTree/InvenTree/filters.py +++ b/InvenTree/InvenTree/filters.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from rest_framework.filters import OrderingFilter diff --git a/InvenTree/InvenTree/metadata.py b/InvenTree/InvenTree/metadata.py index ae520e9dcb..85c5a4c8cc 100644 --- a/InvenTree/InvenTree/metadata.py +++ b/InvenTree/InvenTree/metadata.py @@ -1,7 +1,3 @@ -# -*- coding: utf-8 -*- - -from __future__ import unicode_literals - import logging from rest_framework import serializers diff --git a/InvenTree/InvenTree/models.py b/InvenTree/InvenTree/models.py index 92db2012f8..73b2bf4572 100644 --- a/InvenTree/InvenTree/models.py +++ b/InvenTree/InvenTree/models.py @@ -2,8 +2,6 @@ Generic models which provide extra functionality over base Django model types. """ -from __future__ import unicode_literals - import re import os import logging diff --git a/InvenTree/InvenTree/permissions.py b/InvenTree/InvenTree/permissions.py index defb370435..920e111ce2 100644 --- a/InvenTree/InvenTree/permissions.py +++ b/InvenTree/InvenTree/permissions.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from rest_framework import permissions import users.models diff --git a/InvenTree/InvenTree/tasks.py b/InvenTree/InvenTree/tasks.py index a750c393e6..77f55df271 100644 --- a/InvenTree/InvenTree/tasks.py +++ b/InvenTree/InvenTree/tasks.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import re import json import warnings diff --git a/InvenTree/build/admin.py b/InvenTree/build/admin.py index 43909d2197..32d843d057 100644 --- a/InvenTree/build/admin.py +++ b/InvenTree/build/admin.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.contrib import admin from import_export.admin import ImportExportModelAdmin diff --git a/InvenTree/build/apps.py b/InvenTree/build/apps.py index a5b69d365a..9025e77e0e 100644 --- a/InvenTree/build/apps.py +++ b/InvenTree/build/apps.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.apps import AppConfig diff --git a/InvenTree/build/forms.py b/InvenTree/build/forms.py deleted file mode 100644 index 77a42571d8..0000000000 --- a/InvenTree/build/forms.py +++ /dev/null @@ -1,7 +0,0 @@ -""" -Django Forms for interacting with Build objects -""" - -# -*- coding: utf-8 -*- - -from __future__ import unicode_literals diff --git a/InvenTree/build/tasks.py b/InvenTree/build/tasks.py index b69057d444..daf231d951 100644 --- a/InvenTree/build/tasks.py +++ b/InvenTree/build/tasks.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from decimal import Decimal import logging diff --git a/InvenTree/build/test_api.py b/InvenTree/build/test_api.py index be64aa28c7..068493ad5e 100644 --- a/InvenTree/build/test_api.py +++ b/InvenTree/build/test_api.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from datetime import datetime, timedelta from django.urls import reverse diff --git a/InvenTree/build/tests.py b/InvenTree/build/tests.py index e8ec8b67ca..d3c0c41112 100644 --- a/InvenTree/build/tests.py +++ b/InvenTree/build/tests.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.test import TestCase from django.urls import reverse diff --git a/InvenTree/common/admin.py b/InvenTree/common/admin.py index b49bef1c07..f9ae7b557f 100644 --- a/InvenTree/common/admin.py +++ b/InvenTree/common/admin.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.contrib import admin from import_export.admin import ImportExportModelAdmin diff --git a/InvenTree/common/tasks.py b/InvenTree/common/tasks.py index c83f0e6bad..db63dc9c17 100644 --- a/InvenTree/common/tasks.py +++ b/InvenTree/common/tasks.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import logging from datetime import timedelta, datetime diff --git a/InvenTree/common/test_notifications.py b/InvenTree/common/test_notifications.py index 719d9291de..e16e28f339 100644 --- a/InvenTree/common/test_notifications.py +++ b/InvenTree/common/test_notifications.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from common.notifications import NotificationMethod, SingleNotificationMethod, BulkNotificationMethod, storage from plugin.models import NotificationUserSetting from part.test_part import BaseNotificationIntegrationTest diff --git a/InvenTree/common/tests.py b/InvenTree/common/tests.py index 6cf67c6583..8e3f69c21e 100644 --- a/InvenTree/common/tests.py +++ b/InvenTree/common/tests.py @@ -1,5 +1,4 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals + from http import HTTPStatus import json from datetime import timedelta diff --git a/InvenTree/company/admin.py b/InvenTree/company/admin.py index 97327a559a..cc672f9ee5 100644 --- a/InvenTree/company/admin.py +++ b/InvenTree/company/admin.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.contrib import admin from import_export.admin import ImportExportModelAdmin diff --git a/InvenTree/company/apps.py b/InvenTree/company/apps.py index 41371dd739..a0cd4919cf 100644 --- a/InvenTree/company/apps.py +++ b/InvenTree/company/apps.py @@ -1,5 +1,3 @@ -from __future__ import unicode_literals - from django.apps import AppConfig diff --git a/InvenTree/company/tests.py b/InvenTree/company/tests.py index 79ffc34af5..edc34e7f2d 100644 --- a/InvenTree/company/tests.py +++ b/InvenTree/company/tests.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.test import TestCase from django.core.exceptions import ValidationError diff --git a/InvenTree/label/admin.py b/InvenTree/label/admin.py index 8fee2b1f8f..96e90363e0 100644 --- a/InvenTree/label/admin.py +++ b/InvenTree/label/admin.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.contrib import admin from .models import StockItemLabel, StockLocationLabel, PartLabel diff --git a/InvenTree/label/api.py b/InvenTree/label/api.py index 34ced6a3cd..17aef828c0 100644 --- a/InvenTree/label/api.py +++ b/InvenTree/label/api.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from io import BytesIO from PIL import Image diff --git a/InvenTree/label/serializers.py b/InvenTree/label/serializers.py index 47ccd51ba1..af6ae49e28 100644 --- a/InvenTree/label/serializers.py +++ b/InvenTree/label/serializers.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from InvenTree.serializers import InvenTreeModelSerializer from InvenTree.serializers import InvenTreeAttachmentSerializerField diff --git a/InvenTree/order/admin.py b/InvenTree/order/admin.py index a1e1b74256..eaeebff04d 100644 --- a/InvenTree/order/admin.py +++ b/InvenTree/order/admin.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.contrib import admin from import_export.admin import ImportExportModelAdmin diff --git a/InvenTree/part/admin.py b/InvenTree/part/admin.py index 30dad8e995..8021bd10fa 100644 --- a/InvenTree/part/admin.py +++ b/InvenTree/part/admin.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.contrib import admin from import_export.admin import ImportExportModelAdmin diff --git a/InvenTree/part/apps.py b/InvenTree/part/apps.py index 93885995ac..b1dfcbe8bc 100644 --- a/InvenTree/part/apps.py +++ b/InvenTree/part/apps.py @@ -1,5 +1,3 @@ -from __future__ import unicode_literals - import logging from django.db.utils import OperationalError, ProgrammingError diff --git a/InvenTree/part/tasks.py b/InvenTree/part/tasks.py index d0c91ac79d..7ab15a7200 100644 --- a/InvenTree/part/tasks.py +++ b/InvenTree/part/tasks.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import logging from django.utils.translation import gettext_lazy as _ diff --git a/InvenTree/part/test_api.py b/InvenTree/part/test_api.py index dc79a3a123..28df4503c9 100644 --- a/InvenTree/part/test_api.py +++ b/InvenTree/part/test_api.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import PIL from django.urls import reverse diff --git a/InvenTree/part/test_bom_item.py b/InvenTree/part/test_bom_item.py index 0789ed08c3..1ee57e8d07 100644 --- a/InvenTree/part/test_bom_item.py +++ b/InvenTree/part/test_bom_item.py @@ -1,6 +1,4 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals from django.db import transaction from django.test import TestCase diff --git a/InvenTree/part/test_part.py b/InvenTree/part/test_part.py index f1bfcab40a..09e8f97c64 100644 --- a/InvenTree/part/test_part.py +++ b/InvenTree/part/test_part.py @@ -1,8 +1,5 @@ # Tests for the Part model -# -*- coding: utf-8 -*- - -from __future__ import unicode_literals from allauth.account.models import EmailAddress from django.contrib.auth import get_user_model diff --git a/InvenTree/plugin/admin.py b/InvenTree/plugin/admin.py index 256b5ce0da..dfc8e861f3 100644 --- a/InvenTree/plugin/admin.py +++ b/InvenTree/plugin/admin.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals from django.contrib import admin diff --git a/InvenTree/plugin/apps.py b/InvenTree/plugin/apps.py index 521d42b743..233f037ec7 100644 --- a/InvenTree/plugin/apps.py +++ b/InvenTree/plugin/apps.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals import logging diff --git a/InvenTree/plugin/base/locate/api.py b/InvenTree/plugin/base/locate/api.py index 020951b283..a6776f2d40 100644 --- a/InvenTree/plugin/base/locate/api.py +++ b/InvenTree/plugin/base/locate/api.py @@ -1,8 +1,5 @@ """API for location plugins""" -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from rest_framework import permissions from rest_framework.exceptions import ParseError, NotFound from rest_framework.response import Response diff --git a/InvenTree/plugin/builtin/integration/test_core_notifications.py b/InvenTree/plugin/builtin/integration/test_core_notifications.py index 02c91784e5..e93d2a84cd 100644 --- a/InvenTree/plugin/builtin/integration/test_core_notifications.py +++ b/InvenTree/plugin/builtin/integration/test_core_notifications.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from plugin.models import NotificationUserSetting from part.test_part import BaseNotificationIntegrationTest from plugin.builtin.integration.core_notifications import CoreNotificationsPlugin diff --git a/InvenTree/plugin/test_api.py b/InvenTree/plugin/test_api.py index 58911a9bd2..e3685969af 100644 --- a/InvenTree/plugin/test_api.py +++ b/InvenTree/plugin/test_api.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals from django.urls import reverse diff --git a/InvenTree/plugin/views.py b/InvenTree/plugin/views.py index 1b45fefbb1..ee855094cc 100644 --- a/InvenTree/plugin/views.py +++ b/InvenTree/plugin/views.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals from django.conf import settings diff --git a/InvenTree/report/admin.py b/InvenTree/report/admin.py index b76b8fab1b..6456bf72c5 100644 --- a/InvenTree/report/admin.py +++ b/InvenTree/report/admin.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.contrib import admin from .models import ReportSnippet, ReportAsset diff --git a/InvenTree/report/api.py b/InvenTree/report/api.py index 8a063001a6..f8b31fef99 100644 --- a/InvenTree/report/api.py +++ b/InvenTree/report/api.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals from django.utils.translation import gettext_lazy as _ from django.urls import include, path, re_path diff --git a/InvenTree/report/serializers.py b/InvenTree/report/serializers.py index 6e3e36df18..1db0cca1b9 100644 --- a/InvenTree/report/serializers.py +++ b/InvenTree/report/serializers.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals from InvenTree.serializers import InvenTreeModelSerializer from InvenTree.serializers import InvenTreeAttachmentSerializerField diff --git a/InvenTree/report/tests.py b/InvenTree/report/tests.py index a40990b527..d30a5814d9 100644 --- a/InvenTree/report/tests.py +++ b/InvenTree/report/tests.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals import os import shutil diff --git a/InvenTree/stock/admin.py b/InvenTree/stock/admin.py index 83de1d2484..3d931e2d7c 100644 --- a/InvenTree/stock/admin.py +++ b/InvenTree/stock/admin.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.contrib import admin from import_export.admin import ImportExportModelAdmin diff --git a/InvenTree/stock/apps.py b/InvenTree/stock/apps.py index de8e50cc26..ca24ee7312 100644 --- a/InvenTree/stock/apps.py +++ b/InvenTree/stock/apps.py @@ -1,4 +1,3 @@ -from __future__ import unicode_literals from django.apps import AppConfig diff --git a/InvenTree/users/admin.py b/InvenTree/users/admin.py index 9763644479..2784f28efe 100644 --- a/InvenTree/users/admin.py +++ b/InvenTree/users/admin.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals from django.utils.translation import gettext_lazy as _ diff --git a/InvenTree/users/api.py b/InvenTree/users/api.py index 47e073fb52..2a78abcbbf 100644 --- a/InvenTree/users/api.py +++ b/InvenTree/users/api.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- - -from __future__ import unicode_literals from django.contrib.auth.models import User from django.core.exceptions import ObjectDoesNotExist diff --git a/InvenTree/users/apps.py b/InvenTree/users/apps.py index a4668c68e8..b610e23488 100644 --- a/InvenTree/users/apps.py +++ b/InvenTree/users/apps.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db.utils import OperationalError, ProgrammingError from django.apps import AppConfig diff --git a/InvenTree/users/tests.py b/InvenTree/users/tests.py index e6a4019481..9dc90f5d2c 100644 --- a/InvenTree/users/tests.py +++ b/InvenTree/users/tests.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.test import TestCase from django.apps import apps from django.urls import reverse From d16a8804172366d8b52e276cf39ca06b491adaf9 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 17 May 2022 20:19:12 +1000 Subject: [PATCH 098/134] Update README.md Add link to coveralls badge --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 6083117cac..9ea268afb2 100644 --- a/README.md +++ b/README.md @@ -8,11 +8,10 @@ ![CI](https://github.com/inventree/inventree/actions/workflows/qc_checks.yaml/badge.svg) ![Docker Build](https://github.com/inventree/inventree/actions/workflows/docker_latest.yaml/badge.svg) -![Coveralls](https://img.shields.io/coveralls/github/inventree/InvenTree) +[![Coveralls](https://img.shields.io/coveralls/github/inventree/InvenTree)](https://coveralls.io/github/inventree/InvenTree) [![Crowdin](https://badges.crowdin.net/inventree/localized.svg)](https://crowdin.com/project/inventree) ![Lines of code](https://img.shields.io/tokei/lines/github/inventree/InvenTree) ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/inventree/inventree) -![PyPI - Downloads](https://img.shields.io/pypi/dm/inventree) [![Docker Pulls](https://img.shields.io/docker/pulls/inventree/inventree)](https://hub.docker.com/r/inventree/inventree) ![GitHub Org's stars](https://img.shields.io/github/stars/inventree?style=social) From a40f189c7a6e2687306f15648e0d34d17a2bbfcd Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Tue, 17 May 2022 19:23:50 +0200 Subject: [PATCH 099/134] Use unierest mock for env setting --- InvenTree/InvenTree/tests.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index 97bd77a1e1..e1e2900d1c 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -1,6 +1,6 @@ import json -from test import support +from unittest import mock from django.test import TestCase, override_settings import django.core.exceptions as django_exceptions @@ -450,12 +450,11 @@ class TestSettings(TestCase): def setUp(self) -> None: self.user_mdl = get_user_model() - self.env = support.EnvironmentVarGuard() - def run_reload(self): + def run_reload(self, envs): from plugin import registry - with self.env: + with mock.patch.dict(os.environ, envs): settings.USER_ADDED = False registry.reload_plugins() @@ -471,15 +470,17 @@ class TestSettings(TestCase): self.assertEqual(user_count(), 0) # not enough set - self.env.set('INVENTREE_ADMIN_USER', 'admin') # set username - self.run_reload() + envs = {} + envs['INVENTREE_ADMIN_USER'] = 'admin' + self.run_reload(envs) self.assertEqual(user_count(), 0) # enough set - self.env.set('INVENTREE_ADMIN_USER', 'admin') # set username - self.env.set('INVENTREE_ADMIN_EMAIL', 'info@example.com') # set email - self.env.set('INVENTREE_ADMIN_PASSWORD', 'password123') # set password - self.run_reload() + envs = {'INVENTREE_ADMIN_USER': 'admin', # set username + 'INVENTREE_ADMIN_EMAIL': 'info@example.com', # set email + 'INVENTREE_ADMIN_PASSWORD': 'password123' # set password + } + self.run_reload(envs) self.assertEqual(user_count(), 1) # make sure to clean up From db75c31f6d67af673eab2977210a0711ea22c024 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 18 May 2022 08:27:42 +1000 Subject: [PATCH 100/134] Translation merge (#3022) * updated translation base * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- InvenTree/locale/cs/LC_MESSAGES/django.po | 2335 ++++++++-------- InvenTree/locale/de/LC_MESSAGES/django.po | 2339 ++++++++-------- InvenTree/locale/el/LC_MESSAGES/django.po | 2335 ++++++++-------- InvenTree/locale/en/LC_MESSAGES/django.po | 2597 +++++++++--------- InvenTree/locale/es/LC_MESSAGES/django.po | 2335 ++++++++-------- InvenTree/locale/es_MX/LC_MESSAGES/django.po | 2597 +++++++++--------- InvenTree/locale/fa/LC_MESSAGES/django.po | 2335 ++++++++-------- InvenTree/locale/fr/LC_MESSAGES/django.po | 2335 ++++++++-------- InvenTree/locale/he/LC_MESSAGES/django.po | 2335 ++++++++-------- InvenTree/locale/hu/LC_MESSAGES/django.po | 2391 ++++++++-------- InvenTree/locale/id/LC_MESSAGES/django.po | 2335 ++++++++-------- InvenTree/locale/it/LC_MESSAGES/django.po | 2335 ++++++++-------- InvenTree/locale/ja/LC_MESSAGES/django.po | 2335 ++++++++-------- InvenTree/locale/ko/LC_MESSAGES/django.po | 2335 ++++++++-------- InvenTree/locale/nl/LC_MESSAGES/django.po | 2335 ++++++++-------- InvenTree/locale/no/LC_MESSAGES/django.po | 2335 ++++++++-------- InvenTree/locale/pl/LC_MESSAGES/django.po | 2335 ++++++++-------- InvenTree/locale/pt/LC_MESSAGES/django.po | 2335 ++++++++-------- InvenTree/locale/pt_br/LC_MESSAGES/django.po | 2597 +++++++++--------- InvenTree/locale/ru/LC_MESSAGES/django.po | 2335 ++++++++-------- InvenTree/locale/sv/LC_MESSAGES/django.po | 2335 ++++++++-------- InvenTree/locale/th/LC_MESSAGES/django.po | 2335 ++++++++-------- InvenTree/locale/tr/LC_MESSAGES/django.po | 2335 ++++++++-------- InvenTree/locale/vi/LC_MESSAGES/django.po | 2335 ++++++++-------- InvenTree/locale/zh/LC_MESSAGES/django.po | 2335 ++++++++-------- 25 files changed, 29798 insertions(+), 29423 deletions(-) diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po index 2bb64313db..8d0065b247 100644 --- a/InvenTree/locale/cs/LC_MESSAGES/django.po +++ b/InvenTree/locale/cs/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-15 23:30+0000\n" -"PO-Revision-Date: 2022-05-16 01:10\n" +"POT-Creation-Date: 2022-05-16 14:52+0000\n" +"PO-Revision-Date: 2022-05-17 01:05\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -17,56 +17,56 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:53 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "API endpoint nebyl nalezen" -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "Zadejte datum" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "Potvrdit" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "Potvrdit odstranění" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "Potvrdit odstranění položky" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "Zadejte heslo" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "Zadejte nové heslo" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "Potvrďte heslo" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "Potvrďte nové heslo" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "Vyberte kategorii" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "Email (znovu)" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "Potvrzení emailové adresy" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "Pokaždé musíte zadat stejný email." @@ -75,7 +75,7 @@ msgstr "Pokaždé musíte zadat stejný email." msgid "Duplicate serial: {sn}" msgstr "Duplicitní výrobní číslo: {sn}" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "Vyplněno neplatné množství" @@ -120,7 +120,7 @@ msgstr "Chybějící soubor" msgid "Missing external link" msgstr "Chybějící externí odkaz" -#: InvenTree/models.py:197 stock/models.py:2212 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "Příloha" @@ -129,16 +129,16 @@ msgstr "Příloha" msgid "Select file to attach" msgstr "Vyberte soubor k přiložení" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "Odkaz" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:677 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "Odkaz na externí URL" @@ -150,10 +150,10 @@ msgstr "Komentář" msgid "File comment" msgstr "Komentář k souboru" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 -#: common/models.py:1547 common/models.py:1778 common/models.py:1779 -#: common/models.py:2006 common/models.py:2007 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -192,9 +192,9 @@ msgstr "Chyba při přejmenování souboru" msgid "Invalid choice" msgstr "Neplatný výběr" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:43 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -207,19 +207,19 @@ msgstr "Neplatný výběr" msgid "Name" msgstr "Název" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 @@ -239,56 +239,56 @@ msgstr "Popis (volitelně)" msgid "parent" msgstr "nadřazený" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "Musí být platné číslo" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "Název souboru" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "Neplatná hodnota" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "Datový soubor" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "Vyberte datový soubor k nahrání" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "Nepodporovaný typ souboru" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "Soubor je příliš velký" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "V souboru nebyly nalezeny žádné sloupce" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "V souboru nebyly nalezeny žádné řádky s daty" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "Nebyly zadány žádné řádky s daty" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "Nebyly zadány žádné sloupce s daty" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Chybí povinný sloupec: '{name}'" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplicitní sloupec: '{col}'" @@ -431,7 +431,7 @@ msgstr "Ztraceno" msgid "Returned" msgstr "Vráceno" -#: InvenTree/status_codes.py:143 order/models.py:1068 +#: InvenTree/status_codes.py:143 order/models.py:1070 #: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "Odesláno" @@ -584,42 +584,42 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "Zaškrtněte políčko pro potvrzení odstranění položky" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Upravit informace o uživateli" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Nastavit heslo" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "Hesla se musí shodovat" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "Informace o systému" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -629,40 +629,41 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 -#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -673,10 +674,11 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 @@ -689,132 +691,132 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:249 build/serializers.py:794 +#: build/models.py:247 build/serializers.py:791 #: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" -#: build/models.py:253 +#: 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:258 +#: build/models.py:256 msgid "Destination Location" msgstr "" -#: build/models.py:262 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:681 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "" -#: build/models.py:294 order/models.py:134 part/models.py:1009 +#: build/models.py:292 order/models.py:136 part/models.py:1007 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:675 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 #: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 #: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 #: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 @@ -822,62 +824,62 @@ msgstr "" msgid "Notes" msgstr "" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1214 +#: build/models.py:1212 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 @@ -888,18 +890,18 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1589 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -907,13 +909,14 @@ msgstr "" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 @@ -928,87 +931,87 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 @@ -1020,13 +1023,13 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 #: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 @@ -1034,129 +1037,129 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "" @@ -1226,7 +1229,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 @@ -1259,13 +1262,13 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:297 #: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1301,7 +1304,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:990 +#: build/templates/build/detail.html:49 order/models.py:992 #: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1315,7 +1318,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1432,12 +1435,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1503,7 +1506,7 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "" @@ -1527,873 +1530,873 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:401 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:403 +#: common/models.py:400 msgid "Settings value" msgstr "" -#: common/models.py:444 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:464 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:475 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "" -#: common/models.py:524 +#: common/models.py:521 msgid "Key string must be unique" msgstr "" -#: common/models.py:746 +#: common/models.py:743 msgid "No group" msgstr "" -#: common/models.py:788 +#: common/models.py:785 msgid "Restart required" msgstr "" -#: common/models.py:789 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:796 +#: common/models.py:793 msgid "Server Instance Name" msgstr "" -#: common/models.py:798 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:802 +#: common/models.py:799 msgid "Use instance name" msgstr "" -#: common/models.py:803 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:809 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:810 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:816 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "" -#: common/models.py:817 +#: common/models.py:814 msgid "Internal company name" msgstr "" -#: common/models.py:822 +#: common/models.py:819 msgid "Base URL" msgstr "" -#: common/models.py:823 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "" -#: common/models.py:829 +#: common/models.py:826 msgid "Default Currency" msgstr "" -#: common/models.py:830 +#: common/models.py:827 msgid "Default currency" msgstr "" -#: common/models.py:836 +#: common/models.py:833 msgid "Download from URL" msgstr "" -#: common/models.py:837 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:844 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:850 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:851 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:857 +#: common/models.py:854 msgid "IPN Regex" msgstr "" -#: common/models.py:858 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:869 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:870 +#: common/models.py:867 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:876 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:877 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:884 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:891 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:897 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:898 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:904 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:905 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "" -#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:912 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:918 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:919 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:925 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "" -#: common/models.py:926 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:932 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:933 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "" -#: common/models.py:939 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:940 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:946 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:947 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:953 +#: common/models.py:950 msgid "Show Import in Views" msgstr "" -#: common/models.py:954 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:960 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "" -#: common/models.py:961 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "" -#: common/models.py:972 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "" -#: common/models.py:973 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:984 +#: common/models.py:981 msgid "Show Price History" msgstr "" -#: common/models.py:985 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:991 +#: common/models.py:988 msgid "Show related parts" msgstr "" -#: common/models.py:992 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "" -#: common/models.py:998 +#: common/models.py:995 msgid "Create initial stock" msgstr "" -#: common/models.py:999 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1005 +#: common/models.py:1002 msgid "Internal Prices" msgstr "" -#: common/models.py:1006 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1012 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1013 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1019 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1020 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "" -#: common/models.py:1027 +#: common/models.py:1024 msgid "Enable Reports" msgstr "" -#: common/models.py:1028 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1034 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1035 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1041 +#: common/models.py:1038 msgid "Page Size" msgstr "" -#: common/models.py:1042 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:1049 msgid "Test Reports" msgstr "" -#: common/models.py:1053 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1059 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "" -#: common/models.py:1060 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1065 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "" -#: common/models.py:1066 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1072 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1073 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1079 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1080 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1082 +#: common/models.py:1079 msgid "days" msgstr "" -#: common/models.py:1087 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1088 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1094 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1095 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1101 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1102 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1107 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1108 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1112 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1113 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1118 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1129 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1136 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1143 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1157 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1164 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1171 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1210 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1226 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1539 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1287 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1322 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1336 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1343 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1350 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1357 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1398 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1405 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1412 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1419 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1426 msgid "Search Categories" msgstr "" -#: common/models.py:1430 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1433 msgid "Search Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1440 msgid "Search Locations" msgstr "" -#: common/models.py:1444 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1447 msgid "Search Companies" msgstr "" -#: common/models.py:1451 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1458 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1465 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "" -#: common/models.py:1472 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1479 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1486 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1492 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1493 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1499 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1500 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1506 +#: common/models.py:1503 msgid "Date Format" msgstr "" -#: common/models.py:1507 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1521 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1522 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1590 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "" -#: common/models.py:1597 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1598 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1755 common/models.py:1892 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "" -#: common/models.py:1756 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1765 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "" -#: common/models.py:1770 part/models.py:988 plugin/models.py:49 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2401,216 +2404,216 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "" -#: common/models.py:1785 +#: common/models.py:1782 msgid "Token" msgstr "" -#: common/models.py:1786 +#: common/models.py:1783 msgid "Token for access" msgstr "" -#: common/models.py:1793 +#: common/models.py:1790 msgid "Secret" msgstr "" -#: common/models.py:1794 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1859 +#: common/models.py:1856 msgid "Message ID" msgstr "" -#: common/models.py:1860 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1868 +#: common/models.py:1865 msgid "Host" msgstr "" -#: common/models.py:1869 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1876 +#: common/models.py:1873 msgid "Header" msgstr "" -#: common/models.py:1877 +#: common/models.py:1874 msgid "Header of this message" msgstr "" -#: common/models.py:1883 +#: common/models.py:1880 msgid "Body" msgstr "" -#: common/models.py:1884 +#: common/models.py:1881 msgid "Body of this message" msgstr "" -#: common/models.py:1893 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1898 +#: common/models.py:1895 msgid "Worked on" msgstr "" -#: common/models.py:1899 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:619 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2618,11 +2621,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 @@ -2630,59 +2633,59 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2205 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 @@ -2690,66 +2693,66 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:97 +#: company/models.py:545 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:643 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "" @@ -2804,10 +2807,10 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:662 -#: stock/models.py:663 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 @@ -2956,7 +2959,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2989,7 +2992,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3004,8 +3007,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "" @@ -3028,7 +3031,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "" @@ -3057,8 +3060,8 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:627 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3084,12 +3087,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "" @@ -3143,11 +3146,11 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3171,54 +3174,54 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3226,486 +3229,486 @@ msgstr "" msgid "No valid objects provided to template" msgstr "" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:258 +#: label/models.py:255 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:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:256 order/templates/order/order_base.html:124 +#: order/models.py:258 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1155 +#: order/models.py:617 order/models.py:1157 #: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 #: templates/js/translated/order.js:2718 msgid "Order" msgstr "" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 +#: stock/templates/stock/item_base.html:342 #: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "" -#: order/models.py:976 order/templates/order/order_base.html:169 +#: order/models.py:978 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "" @@ -3825,7 +3828,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 @@ -3943,7 +3946,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "" @@ -3951,73 +3954,73 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "" -#: part/api.py:1037 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1041 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1056 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" @@ -4037,46 +4040,46 @@ msgstr "" msgid "On Order" msgstr "" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4087,65 +4090,65 @@ msgstr "" msgid "Parts" msgstr "" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4154,352 +4157,352 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "" @@ -4668,7 +4671,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "" @@ -4816,7 +4819,7 @@ msgstr "" msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "" @@ -4868,46 +4871,38 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4969,20 +4964,20 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "" @@ -4991,8 +4986,8 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "" @@ -5080,7 +5075,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "" @@ -5099,7 +5094,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "" @@ -5138,7 +5133,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "" @@ -5257,7 +5252,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "" @@ -5367,80 +5362,80 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "" @@ -5518,35 +5513,43 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:29 +#: plugin/models.py:36 +msgid "Plugin Metadata" +msgstr "" + +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" +msgstr "" + +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:92 msgid "Key" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "" -#: plugin/models.py:44 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:50 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:123 +#: plugin/models.py:180 msgid "Plugin" msgstr "" -#: plugin/models.py:197 +#: plugin/models.py:254 msgid "Method" msgstr "" @@ -5590,35 +5593,35 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "" @@ -5627,87 +5630,87 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "" @@ -5724,7 +5727,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:667 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 @@ -5738,12 +5741,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2193 +#: stock/models.py:2190 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2199 +#: stock/models.py:2196 msgid "Result" msgstr "" @@ -5773,362 +5776,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:762 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:763 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:568 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:611 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:620 +#: stock/models.py:617 msgid "Base part" msgstr "" -#: stock/models.py:628 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:634 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:637 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:644 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:650 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "" -#: stock/models.py:653 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:669 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "" -#: stock/models.py:683 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:688 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "" -#: stock/models.py:697 +#: stock/models.py:694 msgid "Source Build" msgstr "" -#: stock/models.py:699 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "" -#: stock/models.py:710 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:713 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:719 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:725 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:726 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:749 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:790 +#: stock/models.py:787 msgid "Converted to part" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1322 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1325 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1428 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1612 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2113 +#: stock/models.py:2110 msgid "Entry notes" msgstr "" -#: stock/models.py:2170 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2176 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2194 +#: stock/models.py:2191 msgid "Test name" msgstr "" -#: stock/models.py:2200 +#: stock/models.py:2197 msgid "Test result" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2203 msgid "Test output value" msgstr "" -#: stock/models.py:2213 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "" -#: stock/models.py:2219 +#: stock/models.py:2216 msgid "Test notes" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "" @@ -6153,7 +6156,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" @@ -6177,194 +6180,198 @@ msgstr "" msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 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:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -6385,54 +6392,58 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6485,7 +6496,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "" @@ -6510,55 +6521,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "" @@ -6827,7 +6838,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" @@ -7276,9 +7287,9 @@ msgid "InvenTree Version Information" msgstr "" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7518,15 +7529,15 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "" @@ -7548,13 +7559,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7590,11 +7601,11 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "" @@ -7606,27 +7617,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "" @@ -7638,11 +7649,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7711,7 +7722,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "" @@ -7780,178 +7791,182 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "" @@ -8366,61 +8381,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "" @@ -8478,78 +8493,78 @@ msgstr "" msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "" @@ -9223,7 +9238,7 @@ msgstr "" msgid "Single Price Difference" msgstr "" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index 656b960a71..f8e9153f07 100644 --- a/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/InvenTree/locale/de/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-15 23:30+0000\n" -"PO-Revision-Date: 2022-05-16 01:10\n" +"POT-Creation-Date: 2022-05-16 14:52+0000\n" +"PO-Revision-Date: 2022-05-17 01:05\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -17,56 +17,56 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:53 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "API-Endpunkt nicht gefunden" -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "Datum eingeben" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "Bestätigen" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "Löschung bestätigen" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "Löschung von Position bestätigen" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "Passwort eingeben" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "Neues Passwort eingeben" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "Passwort wiederholen" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "Neues Passwort bestätigen" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "Kategorie auswählen" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "E-Mail (nochmal)" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "Bestätigung der E-Mail Adresse" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "E-Mail Adressen müssen übereinstimmen." @@ -75,7 +75,7 @@ msgstr "E-Mail Adressen müssen übereinstimmen." msgid "Duplicate serial: {sn}" msgstr "Doppelte Seriennummer: {sn}" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" @@ -120,7 +120,7 @@ msgstr "Fehlende Datei" msgid "Missing external link" msgstr "Fehlender externer Link" -#: InvenTree/models.py:197 stock/models.py:2212 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "Anhang" @@ -129,16 +129,16 @@ msgstr "Anhang" msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "Link" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:677 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "Link zu einer externen URL" @@ -150,10 +150,10 @@ msgstr "Kommentar" msgid "File comment" msgstr "Datei-Kommentar" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 -#: common/models.py:1547 common/models.py:1778 common/models.py:1779 -#: common/models.py:2006 common/models.py:2007 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -192,9 +192,9 @@ msgstr "Fehler beim Umbenennen" msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:43 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -207,19 +207,19 @@ msgstr "Ungültige Auswahl" msgid "Name" msgstr "Name" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 @@ -239,56 +239,56 @@ msgstr "Beschreibung (optional)" msgid "parent" msgstr "Eltern" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "Dateiname" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "Ungültiger Wert" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "Datendatei" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "Neue Datei zum Hochladen auswählen" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "Nicht unterstütztes Dateiformat" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "Datei ist zu groß" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "Keine Spalten in der Datei gefunden" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "Keine Datensätze in der Datei gefunden" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "Keine Zeilen ausgewählt" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "Keine Spalten angegeben" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Erforderliche Spalte '{name}' fehlt" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Doppelte Spalte: '{col}'" @@ -431,7 +431,7 @@ msgstr "Verloren" msgid "Returned" msgstr "Zurückgegeben" -#: InvenTree/status_codes.py:143 order/models.py:1068 +#: InvenTree/status_codes.py:143 order/models.py:1070 #: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "Versendet" @@ -584,42 +584,42 @@ msgstr "Überschuss darf 100% nicht überschreiten" msgid "Invalid value for overage" msgstr "Ungültiger Wert für Ausschuss" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "Element löschen" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "Häkchen setzen um Löschung von Objekt zu bestätigen" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Benutzerinformationen bearbeiten" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Passwort eingeben" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "Passwörter stimmen nicht überein" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "Systeminformationen" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "Ungültige Wahl für übergeordneten Bauauftrag" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "Bauauftrag" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -629,40 +629,41 @@ msgstr "Bauauftrag" msgid "Build Orders" msgstr "Bauaufträge" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 -#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "Referenz" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "Kurze Beschreibung des Baus" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Eltern-Bauauftrag" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -673,10 +674,11 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 @@ -689,132 +691,132 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" msgid "Part" msgstr "Teil" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "Teil für den Bauauftrag wählen" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "Auftrag Referenz" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist" -#: build/models.py:249 build/serializers.py:794 +#: build/models.py:247 build/serializers.py:791 #: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "Quell-Lagerort" -#: build/models.py:253 +#: 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:258 +#: build/models.py:256 msgid "Destination Location" msgstr "Ziel-Lagerort" -#: build/models.py:262 +#: 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:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "Bau-Anzahl" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "Anzahl der zu bauenden Lagerartikel" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "Fertiggestellte Teile" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "Anzahl der fertigen Lagerartikel" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "Bauauftrags-Status" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:681 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "Losnummer" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:294 order/models.py:134 part/models.py:1009 +#: build/models.py:292 order/models.py:136 part/models.py:1007 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "Erstelldatum" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "geplantes Fertigstellungsdatum" -#: build/models.py:299 +#: 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:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "Fertigstellungsdatum" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "Fertiggestellt von" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "Aufgegeben von" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "Verantwortlicher Benutzer" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "Nutzer der für diesen Bauauftrag zuständig ist" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:675 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "Externer Link" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 #: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 #: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 #: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 @@ -822,62 +824,62 @@ msgstr "Externer Link" msgid "Notes" msgstr "Notizen" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "Extranotizen für den Bauauftrag" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "kein Endprodukt angegeben" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "Endprodukt bereits hergstellt" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" -#: build/models.py:1214 +#: build/models.py:1212 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:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Zugewiesene Menge ({q}) darf nicht verfügbare Menge ({a}) übersteigen" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "Ausgewähltes Bestands-Objekt nicht in Stückliste für Teil '{p}' gefunden" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "Bauauftrag" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "Bauauftrag starten um Teile zuzuweisen" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 @@ -888,18 +890,18 @@ msgstr "Bauauftrag starten um Teile zuzuweisen" msgid "Stock Item" msgstr "Lagerartikel" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "Quell-Lagerartikel" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1589 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -907,13 +909,14 @@ msgstr "Quell-Lagerartikel" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 @@ -928,87 +931,87 @@ msgstr "Quell-Lagerartikel" msgid "Quantity" msgstr "Anzahl" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "Anzahl an Lagerartikel dem Bauauftrag zuweisen" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "Ziel-Lagerartikel" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "Endprodukt" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "Endprodukt stimmt nicht mit übergeordnetem Bauauftrag überein" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "Endprodukt entspricht nicht dem Teil des Bauauftrags" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "Dieses Endprodukt wurde bereits fertiggestellt" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "Dieses Endprodukt ist nicht vollständig zugewiesen" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "Menge der Endprodukte angeben" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Ganzzahl erforderlich da die Stückliste nachverfolgbare Teile enthält" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "Seriennummer" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "Seriennummer für dieses Endprodukt eingeben" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "Seriennummern automatisch zuweisen" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "Folgende Seriennummern existieren bereits" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "Eine Liste von Endprodukten muss angegeben werden" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 @@ -1020,13 +1023,13 @@ msgstr "Eine Liste von Endprodukten muss angegeben werden" msgid "Location" msgstr "Lagerort" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "Lagerort für fertige Endprodukte" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 #: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 @@ -1034,129 +1037,129 @@ msgstr "Lagerort für fertige Endprodukte" msgid "Status" msgstr "Status" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "Unvollständige Zuweisung akzeptieren" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "Endprodukte fertigstellen, auch wenn Bestand nicht fertig zugewiesen wurde" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "Zugewiesenen Bestand entfernen" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "Abzug aller Lagerbestände, die diesem Build bereits zugewiesen wurden" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "Unfertige Endprodukte entfernen" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "Lösche alle noch nicht abgeschlossenen Endprodukte" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "Nicht zugewiesene akzeptieren" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Akzeptieren, dass Lagerartikel diesem Bauauftrag nicht vollständig zugewiesen wurden" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "Benötigter Bestand wurde nicht vollständig zugewiesen" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "Unvollständig Zuweisung akzeptieren" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "Akzeptieren, dass die erforderliche Anzahl der Bauaufträge nicht abgeschlossen ist" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "Bauauftrag hat unvollständige Aufbauten" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "Es wurden keine Endprodukte für diesen Bauauftrag erstellt" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "Stücklisten-Position" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "Endprodukt" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "Endprodukt muss auf den gleichen Bauauftrag verweisen" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part muss auf dasselbe Teil verweisen wie der Bauauftrag" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Verfügbare Menge ({q}) überschritten" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "Für Zuweisung von verfolgten Teilen muss ein Endprodukt angegeben sein" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Endprodukt kann bei Zuweisung nicht-verfolgter Teile nicht angegeben werden" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "Dieser Lagerbestand wurde bereits diesem Endprodukt zugewiesen" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "Zuweisungen müssen angegeben werden" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lagerort, von dem Teile bezogen werden sollen (leer lassen, um sie von jedem Lagerort zu nehmen)" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "Lagerort ausschließen" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "Lagerartikel vom ausgewählten Ort ausschließen" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "Wechselbares Lagerbestand" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagerartikel an mehreren Standorten können austauschbar verwendet werden" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "Ersatzbestand" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "Zuordnung von Ersatzteilen erlauben" @@ -1226,7 +1229,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 @@ -1259,13 +1262,13 @@ msgid "Completed" msgstr "Fertig" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:297 #: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "Auftrag" @@ -1301,7 +1304,7 @@ msgstr "Ausgangs-Lager" 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:990 +#: build/templates/build/detail.html:49 order/models.py:992 #: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "Ziel-Lager" @@ -1315,7 +1318,7 @@ msgid "Allocated Parts" msgstr "Zugewiesene Teile" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1432,12 +1435,12 @@ msgid "Delete outputs" msgstr "Endprodukte löschen" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "Druck Aktionen" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "Label drucken" @@ -1503,7 +1506,7 @@ msgstr "Bauauftragdetails" msgid "Completed Outputs" msgstr "Fertiggestellte Endprodukte" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "Bauauftrag löschen" @@ -1527,873 +1530,873 @@ msgstr "Fehler beim Lesen der Datei (falsche Größe)" msgid "Error reading file (data could be corrupted)" msgstr "Fehler beim Lesen der Datei (Daten könnten beschädigt sein)" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "Datei" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "Datei zum Hochladen auswählen" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "{name.title()} Datei" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "{name} Datei zum Hochladen auswählen" -#: common/models.py:401 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:403 +#: common/models.py:400 msgid "Settings value" msgstr "Einstellungs-Wert" -#: common/models.py:444 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "Wert ist keine gültige Option" -#: common/models.py:464 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "Wahrheitswert erforderlich" -#: common/models.py:475 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "Nur Ganzzahl eingeben" -#: common/models.py:524 +#: common/models.py:521 msgid "Key string must be unique" msgstr "Schlüsseltext muss eindeutig sein" -#: common/models.py:746 +#: common/models.py:743 msgid "No group" msgstr "Keine Gruppe" -#: common/models.py:788 +#: common/models.py:785 msgid "Restart required" msgstr "Neustart erforderlich" -#: common/models.py:789 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "Eine Einstellung wurde geändert, die einen Neustart des Servers erfordert" -#: common/models.py:796 +#: common/models.py:793 msgid "Server Instance Name" msgstr "Name der Serverinstanz" -#: common/models.py:798 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "Kurze Beschreibung der Instanz" -#: common/models.py:802 +#: common/models.py:799 msgid "Use instance name" msgstr "Name der Instanz verwenden" -#: common/models.py:803 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "Den Namen der Instanz in der Titelleiste verwenden" -#: common/models.py:809 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "Anzeige von `Über` einschränken" -#: common/models.py:810 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "Zeige das `Über` Fenster nur Administratoren" -#: common/models.py:816 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "Firmenname" -#: common/models.py:817 +#: common/models.py:814 msgid "Internal company name" msgstr "interner Firmenname" -#: common/models.py:822 +#: common/models.py:819 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:823 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "Basis-URL für dieses Instanz" -#: common/models.py:829 +#: common/models.py:826 msgid "Default Currency" msgstr "Standardwährung" -#: common/models.py:830 +#: common/models.py:827 msgid "Default currency" msgstr "Standardwährung" -#: common/models.py:836 +#: common/models.py:833 msgid "Download from URL" msgstr "Von URL herunterladen" -#: common/models.py:837 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "Herunterladen von externen Bildern und Dateien von URLs erlaubt" -#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Bacode-Feature verwenden" -#: common/models.py:844 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "Barcode-Scanner Unterstützung" -#: common/models.py:850 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "Barcode Webcam-Unterstützung" -#: common/models.py:851 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "Barcode-Scannen über Webcam im Browser erlauben" -#: common/models.py:857 +#: common/models.py:854 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:858 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "RegEx Muster für die Zuordnung von Teil-IPN" -#: common/models.py:862 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:863 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:869 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "Ändern von IPN erlaubt" -#: common/models.py:870 +#: common/models.py:867 msgid "Allow changing the IPN value while editing a part" msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt" -#: common/models.py:876 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "Teil-Stückliste kopieren" -#: common/models.py:877 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird " -#: common/models.py:883 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "Teil-Parameter kopieren" -#: common/models.py:884 +#: common/models.py:881 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:890 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "Teil-Testdaten kopieren" -#: common/models.py:891 +#: common/models.py:888 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:897 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "Kategorie-Parametervorlage kopieren" -#: common/models.py:898 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:904 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Vorlage" -#: common/models.py:905 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Baugruppe" -#: common/models.py:912 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:918 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Komponente" -#: common/models.py:919 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/models.py:925 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "Kaufbar" -#: common/models.py:926 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:932 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Verkäuflich" -#: common/models.py:933 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:939 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Nachverfolgbar" -#: common/models.py:940 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:946 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuell" -#: common/models.py:947 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "Teile sind grundsätzlich virtuell" -#: common/models.py:953 +#: common/models.py:950 msgid "Show Import in Views" msgstr "Import in Ansichten anzeigen" -#: common/models.py:954 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "Importassistent in einigen Teil-Ansichten anzeigen" -#: common/models.py:960 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "Preis in Formularen anzeigen" -#: common/models.py:961 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "Teilpreis in einigen Formularen anzeigen" -#: common/models.py:972 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "Preis in Stückliste anzeigen" -#: common/models.py:973 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "Preisinformationen in Stücklisten Tabellen einbeziehen" -#: common/models.py:984 +#: common/models.py:981 msgid "Show Price History" msgstr "Preisverlauf anzeigen" -#: common/models.py:985 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "Historische Preise für Teil anzeigen" -#: common/models.py:991 +#: common/models.py:988 msgid "Show related parts" msgstr "Verwandte Teile anzeigen" -#: common/models.py:992 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "Verwandte Teile eines Teils anzeigen" -#: common/models.py:998 +#: common/models.py:995 msgid "Create initial stock" msgstr "Ausgangsbestand erstellen" -#: common/models.py:999 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "Ausgangsbestand beim Erstellen von Teilen erstellen" -#: common/models.py:1005 +#: common/models.py:1002 msgid "Internal Prices" msgstr "Interne Preise" -#: common/models.py:1006 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "Interne Preise für Teile aktivieren" -#: common/models.py:1012 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "Interner Preis als Stückliste-Preis" -#: common/models.py:1013 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "Interner Preis (falls vorhanden) in Stücklisten-Preisberechnungen verwenden" -#: common/models.py:1019 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "Anzeigeformat für Teilenamen" -#: common/models.py:1020 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "Format für den Namen eines Teiles" -#: common/models.py:1027 +#: common/models.py:1024 msgid "Enable Reports" msgstr "Berichte aktivieren" -#: common/models.py:1028 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "Berichterstellung aktivieren" -#: common/models.py:1034 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "Entwickler-Modus" -#: common/models.py:1035 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "Berichte im Entwickler-Modus generieren (als HTML)" -#: common/models.py:1041 +#: common/models.py:1038 msgid "Page Size" msgstr "Seitengröße" -#: common/models.py:1042 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "Standardseitenformat für PDF-Bericht" -#: common/models.py:1052 +#: common/models.py:1049 msgid "Test Reports" msgstr "Test-Berichte" -#: common/models.py:1053 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "Erstellung von Test-Berichten aktivieren" -#: common/models.py:1059 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "Losnummer Vorlage" -#: common/models.py:1060 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "Vorlage für die Generierung von Standard-Losnummern für Lagerbestände" -#: common/models.py:1065 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "Bestands-Ablauf" -#: common/models.py:1066 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "Ablaufen von Bestand ermöglichen" -#: common/models.py:1072 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "Abgelaufenen Bestand verkaufen" -#: common/models.py:1073 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "Verkauf von abgelaufenem Bestand erlaubt" -#: common/models.py:1079 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "Bestands-Stehzeit" -#: common/models.py:1080 +#: common/models.py:1077 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:1082 +#: common/models.py:1079 msgid "days" msgstr "Tage" -#: common/models.py:1087 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "Abgelaufenen Bestand verbauen" -#: common/models.py:1088 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "Verbauen von abgelaufenen Bestand erlaubt" -#: common/models.py:1094 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "Bestands-Eigentümerkontrolle" -#: common/models.py:1095 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren" -#: common/models.py:1101 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "Bauauftrag-Referenz Präfix" -#: common/models.py:1102 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "Präfix für Bauauftrag-Referenz" -#: common/models.py:1107 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "Bauauftrag-Referenz RegEx" -#: common/models.py:1108 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "RegEx Muster für die Zuordnung von Bauauftrag-Referenzen" -#: common/models.py:1112 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "Auftrags-Referenz Präfix" -#: common/models.py:1113 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "Präfix für Auftrags-Referenz" -#: common/models.py:1118 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "Bestellungs-Referenz Präfix" -#: common/models.py:1119 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "Präfix für Bestellungs-Referenz" -#: common/models.py:1125 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "Passwort vergessen aktivieren" -#: common/models.py:1126 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren" -#: common/models.py:1132 +#: common/models.py:1129 msgid "Enable registration" msgstr "Anmeldung erlauben" -#: common/models.py:1133 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1139 +#: common/models.py:1136 msgid "Enable SSO" msgstr "SSO aktivieren" -#: common/models.py:1140 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "SSO auf den Anmeldeseiten aktivieren" -#: common/models.py:1146 +#: common/models.py:1143 msgid "Email required" msgstr "Email-Adresse erforderlich" -#: common/models.py:1147 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben" -#: common/models.py:1153 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "SSO-Benutzer automatisch ausfüllen" -#: common/models.py:1154 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen" -#: common/models.py:1160 +#: common/models.py:1157 msgid "Mail twice" msgstr "E-Mail zweimal" -#: common/models.py:1161 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "Bei der Registrierung den Benutzer zweimal nach der E-Mail-Adresse fragen" -#: common/models.py:1167 +#: common/models.py:1164 msgid "Password twice" msgstr "Passwort zweimal" -#: common/models.py:1168 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen" -#: common/models.py:1174 +#: common/models.py:1171 msgid "Group on signup" msgstr "Gruppe bei Registrierung" -#: common/models.py:1175 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "Gruppe der neue Benutzer bei der Registrierung zugewiesen werden" -#: common/models.py:1181 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "MFA erzwingen" -#: common/models.py:1182 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden." -#: common/models.py:1188 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "Plugins beim Start prüfen" -#: common/models.py:1189 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "Beim Start überprüfen, ob alle Plugins installiert sind - Für Container aktivieren" -#: common/models.py:1197 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "URL-Integration aktivieren" -#: common/models.py:1198 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "Plugins zum Hinzufügen von URLs aktivieren" -#: common/models.py:1205 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "Navigations-Integration aktivieren" -#: common/models.py:1206 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "Plugins zur Integration in die Navigation aktivieren" -#: common/models.py:1213 +#: common/models.py:1210 msgid "Enable app integration" msgstr "App-Integration aktivieren" -#: common/models.py:1214 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "Plugins zum Hinzufügen von Apps aktivieren" -#: common/models.py:1221 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "Terminplan-Integration aktivieren" -#: common/models.py:1222 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "Geplante Aufgaben aktivieren" -#: common/models.py:1229 +#: common/models.py:1226 msgid "Enable event integration" msgstr "Ereignis-Integration aktivieren" -#: common/models.py:1230 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren" -#: common/models.py:1245 common/models.py:1539 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:1276 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "Abonnierte Teile anzeigen" -#: common/models.py:1277 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "Zeige abonnierte Teile auf der Startseite" -#: common/models.py:1283 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "Abonnierte Kategorien anzeigen" -#: common/models.py:1284 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "Zeige abonnierte Teilkategorien auf der Startseite" -#: common/models.py:1290 +#: common/models.py:1287 msgid "Show latest parts" msgstr "Neueste Teile anzeigen" -#: common/models.py:1291 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "Zeige neueste Teile auf der Startseite" -#: common/models.py:1297 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "Aktuelle Teile-Stände" -#: common/models.py:1298 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "Anzahl der neusten Teile auf der Startseite" -#: common/models.py:1304 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "Nicht validierte Stücklisten anzeigen" -#: common/models.py:1305 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite" -#: common/models.py:1311 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "Neueste Bestandänderungen anzeigen" -#: common/models.py:1312 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite" -#: common/models.py:1318 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "aktueller Bestand" -#: common/models.py:1319 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "Anzahl des geänderten Bestands auf der Startseite" -#: common/models.py:1325 +#: common/models.py:1322 msgid "Show low stock" msgstr "Niedrigen Bestand anzeigen" -#: common/models.py:1326 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "Zeige geringen Bestand auf der Startseite" -#: common/models.py:1332 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "Lerren Bestand anzeigen" -#: common/models.py:1333 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite" -#: common/models.py:1339 +#: common/models.py:1336 msgid "Show needed stock" msgstr "Benötigten Bestand anzeigen" -#: common/models.py:1340 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "Zeige Bestand für Bauaufträge auf der Startseite" -#: common/models.py:1346 +#: common/models.py:1343 msgid "Show expired stock" msgstr "Abgelaufenen Bestand anzeigen" -#: common/models.py:1347 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "Zeige abgelaufene Lagerbestände auf der Startseite" -#: common/models.py:1353 +#: common/models.py:1350 msgid "Show stale stock" msgstr "Alten Bestand anzeigen" -#: common/models.py:1354 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "Zeige überfällige Lagerartikel auf der Startseite" -#: common/models.py:1360 +#: common/models.py:1357 msgid "Show pending builds" msgstr "Ausstehende Bauaufträge anzeigen" -#: common/models.py:1361 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "Zeige ausstehende Bauaufträge auf der Startseite" -#: common/models.py:1367 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "Zeige überfällige Bauaufträge" -#: common/models.py:1368 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "Zeige überfällige Bauaufträge auf der Startseite" -#: common/models.py:1374 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "Ausstehende POs anzeigen" -#: common/models.py:1375 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "Zeige ausstehende POs auf der Startseite" -#: common/models.py:1381 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "Überfällige POs anzeigen" -#: common/models.py:1382 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "Zeige überfällige POs auf der Startseite" -#: common/models.py:1388 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "Ausstehende SOs anzeigen" -#: common/models.py:1389 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "Zeige ausstehende SOs auf der Startseite" -#: common/models.py:1395 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "Überfällige SOs anzeigen" -#: common/models.py:1396 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "Zeige überfällige SOs auf der Startseite" -#: common/models.py:1401 +#: common/models.py:1398 msgid "Enable label printing" msgstr "Labeldruck aktivieren" -#: common/models.py:1402 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "Labeldruck über die Website aktivieren" -#: common/models.py:1408 +#: common/models.py:1405 msgid "Inline label display" msgstr "Label inline anzeigen" -#: common/models.py:1409 +#: common/models.py:1406 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:1415 +#: common/models.py:1412 msgid "Inline report display" msgstr "Berichte inline anzeigen" -#: common/models.py:1416 +#: common/models.py:1413 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:1422 +#: common/models.py:1419 msgid "Search Parts" msgstr "Teile suchen" -#: common/models.py:1423 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "Teile in der Suchvorschau anzeigen" -#: common/models.py:1429 +#: common/models.py:1426 msgid "Search Categories" msgstr "Kategorien durchsuchen" -#: common/models.py:1430 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "Teilekategorien in der Suchvorschau anzeigen" -#: common/models.py:1436 +#: common/models.py:1433 msgid "Search Stock" msgstr "Bestand durchsuchen" -#: common/models.py:1437 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "Lagerartikel in Suchvorschau anzeigen" -#: common/models.py:1443 +#: common/models.py:1440 msgid "Search Locations" msgstr "Lagerorte durchsuchen" -#: common/models.py:1444 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "Lagerorte in Suchvorschau anzeigen" -#: common/models.py:1450 +#: common/models.py:1447 msgid "Search Companies" msgstr "Firmen durchsuchen" -#: common/models.py:1451 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "Firmen in der Suchvorschau anzeigen" -#: common/models.py:1457 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "Bestellungen durchsuchen" -#: common/models.py:1458 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "Bestellungen in der Suchvorschau anzeigen" -#: common/models.py:1464 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "Aufträge durchsuchen" -#: common/models.py:1465 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "Aufträge in der Suchvorschau anzeigen" -#: common/models.py:1471 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "Anzahl Suchergebnisse" -#: common/models.py:1472 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "Anzahl der Ergebnisse, die in der Vorschau pro Sektion angezeigt werden sollen" -#: common/models.py:1478 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:1479 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "Inaktive Teile in der Suchvorschau ausblenden" -#: common/models.py:1485 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "zeige Bestand in Eingabemasken" -#: common/models.py:1486 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" -#: common/models.py:1492 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "Esc-Taste schließt Formulare" -#: common/models.py:1493 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "Benutze die Esc-Taste, um Formulare zu schließen" -#: common/models.py:1499 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "Fixierter Navigationsleiste" -#: common/models.py:1500 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren" -#: common/models.py:1506 +#: common/models.py:1503 msgid "Date Format" msgstr "Datumsformat" -#: common/models.py:1507 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "Bevorzugtes Format für die Anzeige von Daten" -#: common/models.py:1521 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "Teilzeitplanung" -#: common/models.py:1522 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "Zeige Zeitplanung für Teile" -#: common/models.py:1590 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:1597 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "Preis" -#: common/models.py:1598 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:1755 common/models.py:1892 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "Endpunkt" -#: common/models.py:1756 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "Endpunkt, an dem dieser Webhook empfangen wird" -#: common/models.py:1765 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:1770 part/models.py:988 plugin/models.py:49 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2401,216 +2404,216 @@ msgstr "Name für diesen Webhook" msgid "Active" msgstr "Aktiv" -#: common/models.py:1771 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:1785 +#: common/models.py:1782 msgid "Token" msgstr "Token" -#: common/models.py:1786 +#: common/models.py:1783 msgid "Token for access" msgstr "Token für Zugang" -#: common/models.py:1793 +#: common/models.py:1790 msgid "Secret" msgstr "Geheimnis" -#: common/models.py:1794 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "Shared Secret für HMAC" -#: common/models.py:1859 +#: common/models.py:1856 msgid "Message ID" msgstr "Nachrichten-ID" -#: common/models.py:1860 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "Eindeutige Kennung für diese Nachricht" -#: common/models.py:1868 +#: common/models.py:1865 msgid "Host" msgstr "Host" -#: common/models.py:1869 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "Host von dem diese Nachricht empfangen wurde" -#: common/models.py:1876 +#: common/models.py:1873 msgid "Header" msgstr "Kopfzeile" -#: common/models.py:1877 +#: common/models.py:1874 msgid "Header of this message" msgstr "Header dieser Nachricht" -#: common/models.py:1883 +#: common/models.py:1880 msgid "Body" msgstr "Body" -#: common/models.py:1884 +#: common/models.py:1881 msgid "Body of this message" msgstr "Body dieser Nachricht" -#: common/models.py:1893 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "Endpunkt, über den diese Nachricht empfangen wurde" -#: common/models.py:1898 +#: common/models.py:1895 msgid "Worked on" msgstr "Bearbeitet" -#: common/models.py:1899 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Datei hochgeladen" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Übereinstimmende Felder" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "Positionen zuordnen" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "Felder zuteilen fehlgeschlagen" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "Teile importiert" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "Vorheriger Schritt" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "Bild-URL" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "Firmenbeschreibung" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "Firmenbeschreibung" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "Website" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "Firmenwebsite Adresse/URL" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "Adresse" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "Firmenadresse" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "Kontakt-Tel." -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "Kontakt-Telefon" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "Email" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "Kontakt-Email" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "Kontakt" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "Anlaufstelle" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "Link auf externe Firmeninformation" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "Bild" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "ist Kunde" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "Verkaufen Sie Teile an diese Firma?" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "ist Zulieferer" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "Kaufen Sie Teile von dieser Firma?" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "ist Hersteller" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "Produziert diese Firma Teile?" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "Währung" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "Standard-Währung für diese Firma" -#: company/models.py:317 company/models.py:532 stock/models.py:619 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "Basisteil" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "Teil auswählen" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2618,11 +2621,11 @@ msgstr "Teil auswählen" msgid "Manufacturer" msgstr "Hersteller" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "Hersteller auswählen" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 @@ -2630,59 +2633,59 @@ msgstr "Hersteller auswählen" msgid "MPN" msgstr "MPN" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "Hersteller-Teilenummer" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "Externe URL für das Herstellerteil" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "Teilbeschreibung des Herstellers" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "Herstellerteil" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "Parametername" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2205 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "Wert" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "Parameterwert" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "Einheiten" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "Parametereinheit" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 @@ -2690,66 +2693,66 @@ msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" msgid "Supplier" msgstr "Zulieferer" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:548 company/templates/company/supplier_part.html:97 +#: company/models.py:545 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "SKU (Lagerbestandseinheit)" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "Herstellerteil auswählen" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "Teil-URL des Zulieferers" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "Notiz" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:643 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "Verpackungen" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "Teile-Verpackungen" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "Vielfache" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "Mehrere bestellen" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "Letzte Aktualisierung" @@ -2804,10 +2807,10 @@ msgstr "Neues Bild hochladen" msgid "Download image from URL" msgstr "Bild von URL herunterladen" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:662 -#: stock/models.py:663 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 @@ -2956,7 +2959,7 @@ msgstr "Alle ausgewählten Zulieferteile werden gelöscht" msgid "Supplier List" msgstr "Zulieferer-Liste" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2989,7 +2992,7 @@ msgid "No manufacturer information available" msgstr "Keine Herstellerdaten verfügbar" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3004,8 +3007,8 @@ msgstr "Zuliefererteil entfernen" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "Löschen" @@ -3028,7 +3031,7 @@ msgid "Delete parameters" msgstr "Parameter löschen" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "Parameter hinzufügen" @@ -3057,8 +3060,8 @@ msgid "Assigned Stock Items" msgstr "Zugewiesene Lagerartikel" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:627 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3084,12 +3087,12 @@ msgid "Supplier Part Stock" msgstr "Zulieferer-Bestand" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "Neuen Lagerartikel hinzufügen" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "Neuer Lagerartikel" @@ -3143,11 +3146,11 @@ msgstr "Zuletzt aktualisiert" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3171,54 +3174,54 @@ msgstr "Bepreisung" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "Lagerartikel" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "Neuer Zulieferer" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "Neuer Hersteller" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "Kunden" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "Neuer Kunde" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "Firmen" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "Neue Firma" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "Bild herunterladen" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "Bildgröße überschreitet maximal-erlaubte Größe für Downloads" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "Ungültige Antwort {code}" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "Angegebene URL ist kein gültiges Bild" @@ -3226,486 +3229,486 @@ msgstr "Angegebene URL ist kein gültiges Bild" msgid "No valid objects provided to template" msgstr "Keine korrekten Objekte für Vorlage gegeben" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "Label Name" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "Label Beschreibung" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "Label" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "Label-Vorlage-Datei" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "Aktiviert" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "Label-Vorlage ist aktiviert" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "Breite [mm]" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "Label-Breite in mm" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "Höhe [mm]" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "Label-Höhe in mm" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "Dateinamen-Muster" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "Muster für die Erstellung von Label-Dateinamen" -#: label/models.py:258 +#: label/models.py:255 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: label/models.py:259 label/models.py:319 label/models.py:366 -#: report/models.py:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "Filter" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "Bestellungs-Beschreibung" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "Link auf externe Seite" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "Erstellt von" -#: order/models.py:147 +#: order/models.py:149 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:152 +#: order/models.py:154 msgid "Order notes" msgstr "Bestell-Notizen" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "Bestell-Referenz" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "Bestellungs-Status" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "Firma bei der die Teile bestellt werden" -#: order/models.py:256 order/templates/order/order_base.html:124 +#: order/models.py:258 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "Zulieferer-Referenz" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "Zulieferer Bestellreferenz" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "Empfangen von" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "Aufgabedatum" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "Datum an dem die Bestellung aufgegeben wurde" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "Ziel-Versanddatum" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Geplantes Lieferdatum für Auftrag." -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "Zieldatum für Auftrags-Fertigstellung." -#: order/models.py:615 order/models.py:1155 +#: order/models.py:617 order/models.py:1157 #: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "Versanddatum" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "Versand von" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "Auftrag kann nicht abgeschlossen werden, da keine Teile zugewiesen wurden" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "Nur ein ausstehender Auftrag kann als abgeschlossen markiert werden" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Auftrag kann nicht abgeschlossen werden, da unvollständige Sendungen vorhanden sind" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "Auftrag kann nicht abgeschlossen werden, da es unvollständige Positionen gibt" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "Lieferdatum für diese Position" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "Kontext" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "Zusätzlicher Kontext für diese Zeile" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "Stückpreis" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "Lieferantenteil muss mit Lieferant übereinstimmen" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "gelöscht" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 #: templates/js/translated/order.js:2718 msgid "Order" msgstr "Bestellung" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 +#: stock/templates/stock/item_base.html:342 #: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "Bestellung" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:976 order/templates/order/order_base.html:169 +#: order/models.py:978 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "Empfangen" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:993 +#: order/models.py:995 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:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "Verkaufspreis" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "Versendete Menge" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "Versanddatum" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "Kontrolliert von" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "Sendungsnummer" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "Versandhinweise" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "Sendungsverfolgungsnummer" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "Informationen zur Sendungsverfolgung" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "Sendung wurde bereits versandt" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "Sendung hat keine zugewiesene Lagerartikel" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "Lagerartikel wurde nicht zugewiesen" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kann Lagerartikel keiner Zeile mit einem anderen Teil hinzufügen" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "Zu viele Lagerartikel zugewiesen" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "Auftrag gehört nicht zu Sendung" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "Sendung gehört nicht zu Auftrag" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "Position" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "Sendung" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "Sendungsnummer-Referenz" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "Position" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "Lagerartikel für Zuordnung auswählen" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "Währung" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "Bestellung kann nicht verworfen werden" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "Der Auftrag ist nicht offen" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "Kaufpreiswährung" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "Zuliefererteil muss ausgewählt werden" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "Bestellung muss angegeben sein" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "Lieferant muss mit der Bestellung übereinstimmen" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "Die Bestellung muss mit dem Lieferant übereinstimmen" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "Position" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "Position stimmt nicht mit Kaufauftrag überein" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "Zielort für empfangene Teile auswählen" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "Losnummer für eingehende Lagerartikel" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "Seriennummern für eingehende Lagerartikel" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "Barcode-Hash" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "Einzigartiger Identifikator" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "Barcode ist bereits in Verwendung" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "Positionen müssen angegeben werden" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "Ziel-Lagerort muss angegeben werden" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "Barcode muss eindeutig sein" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "Verkaufspreis-Währung" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "Keine Sendungsdetails angegeben" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "Position ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "Anzahl muss positiv sein" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "Seriennummern zum Zuweisen eingeben" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "Sendung wurde bereits versandt" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "Sendung ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "Folgende Serienummern konnten nicht gefunden werden" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "Folgende Seriennummern sind bereits zugewiesen" @@ -3825,7 +3828,7 @@ msgstr "Zulieferer-Teil auswählen" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 @@ -3943,7 +3946,7 @@ msgid "Pending Shipments" msgstr "Ausstehende Sendungen" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "Aktionen" @@ -3951,73 +3954,73 @@ msgstr "Aktionen" msgid "New Shipment" msgstr "Neue Sendung" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "Zuliefererteile zuordnen" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "Auftrag nicht gefunden" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "Preis nicht gefunden" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "Stückpreis für {part} auf {price} aktualisiert" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format 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:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "Eingehende Bestellung" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "Ausgehender Auftrag" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "Lagerartikel produziert von Bauauftrag" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "Lagerartikel für Bauauftrag benötigt" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "Gültig" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "Gesamte Stückliste validieren" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "Diese Option muss ausgewählt werden" -#: part/api.py:1037 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "Muss größer als 0 sein" -#: part/api.py:1041 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "Muss eine gültige Nummer sein" -#: part/api.py:1056 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "Standort für anfänglichen Bestand angeben" -#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "Dieses Feld ist erforderlich" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "Standard-Lagerort" @@ -4037,46 +4040,46 @@ msgstr "Verfügbarer Bestand" msgid "On Order" msgstr "Bestellt" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "Teil-Kategorie wählen" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "Parameter-Vorlage zu Kategorien dieser Ebene hinzufügen" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "Parameter-Vorlage zu allen Kategorien hinzufügen" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "Standard-Lagerort für Teile dieser Kategorie" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "Standard Stichwörter" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "Standard-Stichworte für Teile dieser Kategorie" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "Teil-Kategorien" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4087,65 +4090,65 @@ msgstr "Teil-Kategorien" msgid "Parts" msgstr "Teile" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "Ungültige Auswahl für übergeordnetes Teil" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, 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:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "Nächste verfügbare Seriennummern wären" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "Nächste verfügbare Seriennummer ist" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "Die neuste Seriennummer ist" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "Ist eine Vorlage" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "Variante von" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "Beschreibung des Teils" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "Schlüsselwörter" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4154,352 +4157,352 @@ msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" msgid "Category" msgstr "Kategorie" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "IPN (Interne Produktnummer)" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "Interne Teilenummer" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "Version" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "Standard Zulieferer" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "Standard Zuliefererteil" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "Standard Ablaufzeit" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "Minimaler Bestand" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Bestand" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "Stock Keeping Units (SKU) für dieses Teil" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:994 +#: part/models.py:992 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:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "Bemerkungen - unterstüzt Markdown-Formatierung" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "Stückliste kontrolliert von" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "BOM Kontrolldatum" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:2439 +#: part/models.py:2437 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:2456 +#: part/models.py:2454 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:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "Benötigt" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:2495 +#: part/models.py:2493 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:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:2501 +#: part/models.py:2499 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:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "Ungültiges Zeichen im Vorlagename ({c})" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "Einheit des Parameters" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "Wert" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "Teilnummer oder Teilname" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "Teil-ID" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "Eindeutige Teil-ID" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "Name des Teils" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "Teil-ID" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "IPN-Wert des Teils" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "Stufe" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "Stücklistenebene" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "Optional" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Überschuss" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "Geerbt" -#: part/models.py:2809 +#: part/models.py:2807 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:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "Varianten zulassen" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Bestand von Varianten kann für diese Stücklisten-Position verwendet werden" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:3112 +#: part/models.py:3110 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/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "Kaufwährung dieses Lagerartikels" @@ -4668,7 +4671,7 @@ msgstr "Teile (inklusive Unter-Kategorien)" msgid "Create new part" msgstr "Neues Teil anlegen" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "Neues Teil" @@ -4816,7 +4819,7 @@ msgstr "Stückliste" msgid "Export actions" msgstr "Export-Aktionen" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "Stückliste exportieren" @@ -4868,46 +4871,38 @@ msgstr "Teil-Hersteller" msgid "Delete manufacturer parts" msgstr "Herstellerteile löschen" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "Ausgewählte Stücklistenpositionen löschen?" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "Alle ausgewählte Stücklistenpositionen werden gelöscht" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "Stücklisten-Position anlegen" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "verknüpftes Teil" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "verknüpftes Teil hinzufügen" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "Testergebnis-Vorlage hinzufügen" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "Stückpreis Einkauf - %(currency)s" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "Stückpreis Differenz - %(currency)s" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "Stückpreis Zulieferer - %(currency)s" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "Stückpreis - %(currency)s" @@ -4969,20 +4964,20 @@ msgid "Subscribe to notifications for this part" msgstr "Benachrichtigungen für dieses Teil abonnieren" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "Barcode Aktionen" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "QR-Code anzeigen" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "Label drucken" @@ -4991,8 +4986,8 @@ msgid "Show pricing information" msgstr "Kosteninformationen ansehen" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "Bestands-Aktionen" @@ -5080,7 +5075,7 @@ msgstr "Zu Bauaufträgen zugeordnet" msgid "Allocated to Sales Orders" msgstr "Zur Bestellung zugeordnet" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "Herstellbar" @@ -5099,7 +5094,7 @@ msgid "Latest Serial Number" msgstr "letzte Seriennummer" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "Nach Seriennummer suchen" @@ -5138,7 +5133,7 @@ msgid "Total Cost" msgstr "Gesamtkosten" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "Keine Zulieferer-Preise verfügbar" @@ -5259,7 +5254,7 @@ msgstr "Verkaufspreis anzeigen" msgid "Calculation parameters" msgstr "Berechnungsparameter" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "Zuliefererkosten" @@ -5369,80 +5364,80 @@ msgstr "Unbekannte Datenbank" msgid "{title} v{version}" msgstr "{title} v{version}" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "Teil-Kategorie auswählen" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "Kategorie für {n} Teile setzen" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "Referenzen zuteilen" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "Kein(e)" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "Teil-QR-Code" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "Teilbild auswählen" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "Teilbild aktualisiert" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "Teilbild nicht gefunden" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "Löschen des Teils bestätigen" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "Teil wurde gelöscht" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "Teilbepreisung" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "Teilparametervorlage anlegen" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "Teilparametervorlage bearbeiten" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "Teilparametervorlage löschen" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "Teil-Kategorie löschen" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "Teil-Kategorie wurde gelöscht" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "Kategorieparametervorlage anlegen" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "Kategorieparametervorlage bearbeiten" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "Kategorieparametervorlage löschen" @@ -5520,35 +5515,43 @@ msgstr "E-Mail-Benachrichtigungen aktivieren" msgid "Allow sending of emails for event notifications" msgstr "Das Senden von Benachrichtigungen als E-Mails erlauben" -#: plugin/models.py:29 +#: plugin/models.py:36 +msgid "Plugin Metadata" +msgstr "Plugin Metadaten" + +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" +msgstr "JSON-Metadatenfeld, für die Verwendung durch externe Plugins" + +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "Plugin-Konfiguration" -#: plugin/models.py:30 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "Plugin-Konfigurationen" -#: plugin/models.py:35 +#: plugin/models.py:92 msgid "Key" msgstr "Schlüssel" -#: plugin/models.py:36 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "Schlüssel des Plugins" -#: plugin/models.py:44 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "Name des Plugins" -#: plugin/models.py:50 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "Ist das Plugin aktiv" -#: plugin/models.py:123 +#: plugin/models.py:180 msgid "Plugin" msgstr "Plugin" -#: plugin/models.py:197 +#: plugin/models.py:254 msgid "Method" msgstr "Methode" @@ -5592,35 +5595,35 @@ msgstr "Auswahleinstellungen" msgid "A setting with multiple choices" msgstr "Eine Einstellung mit mehreren Optionen" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "Quell-URL" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "Quelle für das Paket - dies kann eine eigene Registry oder ein VCS-Pfad sein" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "Paket-Name" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "Name für das Plugin-Paket - kann auch einen Versionstext enthalten" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "Plugin-Installation bestätigen" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "Dies wird dieses Plugin sofort in die aktuelle Instanz installieren. Die Instanz wird sofort in Wartung gehen." -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "Installation nicht bestätigt" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "Entweder Paketname oder URL muss angegeben werden" @@ -5629,87 +5632,87 @@ msgstr "Entweder Paketname oder URL muss angegeben werden" msgid "Template file '{template}' is missing or does not exist" msgstr "Vorlagendatei '{template}' fehlt oder existiert nicht" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "Vorlagen Name" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "Bericht-Vorlage Datei" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "Bericht-Vorlage Beschreibung" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "Bericht Revisionsnummer (autom. erhöht)" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "Muster für die Erstellung von Berichtsdateinamen" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "Bericht-Vorlage ist ein" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Lagerartikel-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "einfügen Installiert in Tests" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "Test-Ergebnisse für Lagerartikel in Baugruppen einschließen" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "Bauauftrag Filter" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Bau-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "Teil Filter" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "Bestellungs-Abfragefilter" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "Auftrags-Abfragefilter" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "Snippet" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "Berichts-Snippet" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "Snippet-Beschreibung" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "Ressource" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "Berichts-Ressource" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "Ressource-Beschreibung" @@ -5726,7 +5729,7 @@ msgid "Stock Item Test Report" msgstr "Lagerartikel Test-Bericht" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:667 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 @@ -5740,12 +5743,12 @@ msgid "Test Results" msgstr "Testergebnisse" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2193 +#: stock/models.py:2190 msgid "Test" msgstr "Test" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2199 +#: stock/models.py:2196 msgid "Result" msgstr "Ergebnis" @@ -5775,362 +5778,362 @@ msgstr "Verbaute Objekte" msgid "Serial" msgstr "Seriennummer" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "Menge ist erforderlich" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "Gültiges Teil muss angegeben werden" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" -#: stock/models.py:94 stock/models.py:762 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "Besitzer" -#: stock/models.py:95 stock/models.py:763 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "Besitzer auswählen" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "Ein Lagerartikel mit dieser Seriennummer existiert bereits" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "Teile-Typ ('{pf}') muss {pe} sein" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein" -#: stock/models.py:526 +#: stock/models.py:523 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:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "Teil kann nicht zu sich selbst gehören" -#: stock/models.py:554 +#: stock/models.py:551 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:568 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "Referenz verweist nicht auf das gleiche Teil" -#: stock/models.py:611 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "Eltern-Lagerartikel" -#: stock/models.py:620 +#: stock/models.py:617 msgid "Base part" msgstr "Basis-Teil" -#: stock/models.py:628 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen" -#: stock/models.py:634 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Bestand-Lagerort" -#: stock/models.py:637 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: stock/models.py:644 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "Die Verpackung dieses Lagerartikel ist gelagert in" -#: stock/models.py:650 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "verbaut in" -#: stock/models.py:653 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "Ist dieses Teil in einem anderen verbaut?" -#: stock/models.py:669 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:683 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "Losnummer für diesen Lagerartikel" -#: stock/models.py:688 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "Bestand" -#: stock/models.py:697 +#: stock/models.py:694 msgid "Source Build" msgstr "Quellbau" -#: stock/models.py:699 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "Bauauftrag für diesen Lagerartikel" -#: stock/models.py:710 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "Quelle Bestellung" -#: stock/models.py:713 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "Bestellung für diesen Lagerartikel" -#: stock/models.py:719 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "Ziel-Auftrag" -#: stock/models.py:725 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "Ablaufdatum" -#: stock/models.py:726 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Ablaufdatum für Lagerartikel. Bestand wird danach als abgelaufen gekennzeichnet" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "Löschen wenn leer" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "Diesen Lagerartikel löschen wenn der Bestand aufgebraucht ist" -#: stock/models.py:749 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "Lagerartikel-Notizen" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "Preis für eine Einheit bei Einkauf" -#: stock/models.py:790 +#: stock/models.py:787 msgid "Converted to part" msgstr "In Teil umgewandelt" -#: stock/models.py:1310 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "Teil ist nicht verfolgbar" -#: stock/models.py:1316 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: stock/models.py:1322 +#: stock/models.py:1319 #, 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:1325 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" -#: stock/models.py:1328 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:1335 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Seriennummern {exists} existieren bereits" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "Artikel wurde einem Kundenauftrag zugewiesen" -#: stock/models.py:1409 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "Lagerartikel ist in anderem Element verbaut" -#: stock/models.py:1412 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "Lagerartikel enthält andere Artikel" -#: stock/models.py:1415 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "Artikel wurde einem Kunden zugewiesen" -#: stock/models.py:1418 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "Lagerartikel wird aktuell produziert" -#: stock/models.py:1421 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden" -#: stock/models.py:1428 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "Artikel duplizeren" -#: stock/models.py:1432 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "Lagerartikel müssen auf dasselbe Teil verweisen" -#: stock/models.py:1436 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "Lagerartikel müssen auf dasselbe Lieferantenteil verweisen" -#: stock/models.py:1440 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "Status-Codes müssen zusammenpassen" -#: stock/models.py:1612 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "Lagerartikel kann nicht bewegt werden, da kein Bestand vorhanden ist" -#: stock/models.py:2113 +#: stock/models.py:2110 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:2170 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:2176 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:2194 +#: stock/models.py:2191 msgid "Test name" msgstr "Name des Tests" -#: stock/models.py:2200 +#: stock/models.py:2197 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:2206 +#: stock/models.py:2203 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:2213 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:2219 +#: stock/models.py:2216 msgid "Test notes" msgstr "Test Notizen" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "Kaufpreis für diesen Lagerartikel" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "Anzahl der zu serialisierenden Lagerartikel eingeben" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Anzahl darf nicht die verfügbare Menge überschreiten ({q})" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "Seriennummern für neue Teile eingeben" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "Ziel-Bestand" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "Optionales Notizfeld" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "Seriennummern können diesem Teil nicht zugewiesen werden" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "Seriennummern existieren bereits" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "Lagerartikel für Installation auswählen" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "Lagerartikel ist nicht verfügbar" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "Ausgewähltes Teil ist nicht in der Stückliste" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "Ziel Lagerort für unverbautes Objekt" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr " Transaktionsnotizen hinzufügen (optional)" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "Teil muss verkaufbar sein" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "Artikel ist einem Kundenauftrag zugeordnet" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "Artikel ist einem Fertigungsauftrag zugeordnet" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "Kunde zum Zuweisen von Lagerartikel" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "Ausgewählte Firma ist kein Kunde" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "Notizen zur Lagerzuordnung" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "Eine Liste der Lagerbestände muss angegeben werden" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "Notizen zur Lagerartikelzusammenführung" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "Unterschiedliche Lieferanten erlauben" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Lieferanten erlauben" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "Unterschiedliche Status erlauben" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Status-Codes erlauben" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "Mindestens zwei Lagerartikel müssen angegeben werden" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "Primärschlüssel Lagerelement" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "Bestandsbewegungsnotizen" @@ -6155,7 +6158,7 @@ msgstr "Dieser Lagerartikel hat keine Kinder" msgid "Test Data" msgstr "Testdaten" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "Test-Bericht" @@ -6179,194 +6182,198 @@ msgstr "Lagerartikel installieren" msgid "Add Test Result" msgstr "Testergebnis hinzufügen" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "Lagerbestand lokalisieren" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "Barcode abhängen" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "Barcode anhängen" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "zu Lagerort einscannen" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "Druck Aktionen" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "Bestands-Anpassungs Aktionen" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "Bestand zählen" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "Bestand hinzufügen" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "Bestand entfernen" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "Bestand serialisieren" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "Bestand verschieben" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "Kunden zuweisen" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "zu Bestand zurückgeben" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "Lagerartikel deinstallieren" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "Deinstallieren" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "Lagerartikel installieren" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "Installieren" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "in Variante ändern" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "Lagerartikel duplizieren" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "Lagerartikel bearbeiten" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "Lagerartikel löschen" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "vorherige Seite" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "Zur vorherigen Seriennummer wechseln" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "nächste Seite" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "Zur nächsten Seriennummer wechseln" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Dieser Lagerartikel lief am %(item.expiry_date)s ab" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "abgelaufen" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Dieser Lagerartikel läuft am %(item.expiry_date)s ab" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "überfällig" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "Zuletzt aktualisiert" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "Letzte Inventur" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "Keine Inventur ausgeführt" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "Dieser Lagerartikel wird gerade hergestellt und kann nicht geändert werden." -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "Ändern des Lagerartikel in der Bauauftrag-Ansicht." -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "Dieser Lagerartikel hat nicht alle Tests bestanden" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "Dieser Lagerartikel ist einem Auftrag zugewiesen" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "Dieser Lagerartikel ist einem Bauauftrag zugewiesen" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "Diesesr Lagerartikel ist serialisiert. Es hat eine eindeutige Seriennummer und die Anzahl kann nicht angepasst werden." -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "Kein Lagerort gesetzt" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "Barcode-Bezeichner" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "Elternposition" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "Kein Hersteller ausgewählt" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "Tests" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "Nur Leserechte" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "Bestandsstatus bearbeiten" @@ -6387,54 +6394,58 @@ 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:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "Lagerort lokalisieren" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "Teile einchecken" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "Lagerort-Aktionen" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "Lagerort bearbeiten" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "Lagerort löschen" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "Neuen Lagerort anlegen" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "Neuer Lagerort" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "Lagerortpfad" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "Oberster Lagerstandort" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "Standortbesitzer" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 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:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Unter-Lagerorte" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "Bestand-Lagerorte" @@ -6487,7 +6498,7 @@ msgstr "Zuweisungen" msgid "Child Items" msgstr "Untergeordnete Objekte" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "Lagerartikel umwandeln" @@ -6512,55 +6523,55 @@ 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 Lagerartikel-Verfolgungs-Eintrag löschen wollen?" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "QR-Code für diesen Lagerort" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "zurück ins Lager" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "gültigen Lagerort angeben" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "Lagerartikel retoure vom Kunden" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "alle Testdaten löschen" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "Löschen Testdaten bestätigen" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "Bestätigungsbox bestätigen" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "Lagerartikel-QR-Code" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "Bestand-Lagerort löschen" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "Lagerartikel löschen" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "Bestand-Tracking-Eintrag löschen" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "Bestand-Verfolgungs-Eintrag bearbeiten" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "Bestand-Verfolgungs-Eintrag hinzufügen" @@ -6822,14 +6833,14 @@ msgstr "Plugin-Einstellungen" #: templates/InvenTree/settings/plugin.html:16 msgid "Changing the settings below require you to immediatly restart the server. Do not change this while under active usage." -msgstr "Wenn Sie die folgenden Einstellungen ändern, müssen Sie InvenTree sofort neu starten. Ändern Sie dies nicht während der aktiven Nutzung." +msgstr "Wenn Sie die folgenden Einstellungen ändern, müssen Sie den Server sofort neu starten. Ändern Sie dies nicht während der aktiven Nutzung." #: templates/InvenTree/settings/plugin.html:34 msgid "Plugins" msgstr "Plugins" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "Plugin installieren" @@ -6954,7 +6965,7 @@ msgstr "Plugin-Einstellungen bearbeiten" #: templates/InvenTree/settings/settings.html:121 msgid "Edit Notification Setting" -msgstr "Benachrichtigungs-Einstellungen" +msgstr "Benachrichtigungs-Einstellungen bearbeiten" #: templates/InvenTree/settings/settings.html:124 msgid "Edit Global Setting" @@ -7278,9 +7289,9 @@ msgid "InvenTree Version Information" msgstr "InvenTree-Versionsinformationen" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7520,15 +7531,15 @@ msgstr "Link hinzufügen" msgid "Add Attachment" msgstr "Anhang hinzufügen" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "Server-Neustart erforderlich" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "Eine Konfigurationsoption wurde geändert, die einen Neustart des Servers erfordert" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "Bitte kontaktieren Sie Ihren Administrator für mehr Informationen" @@ -7550,13 +7561,13 @@ msgid "The following parts are low on required stock" msgstr "Bei den folgenden Teilen gibt es wenige Lagerartikel" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "Benötigte Menge" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7592,11 +7603,11 @@ 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/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "Keine Antwort" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "keine Antwort vom InvenTree Server" @@ -7608,27 +7619,27 @@ msgstr "Fehler 400: Fehlerhafte Anfrage" msgid "API request returned error code 400" msgstr "Fehler-Code 400 zurückgegeben" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "Fehler 401: Nicht Angemeldet" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "Authentication Kredentials nicht angegeben" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "Fehler 403: keine Berechtigung" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 msgid "You do not have the required permissions to access this function" msgstr "Fehlende Berechtigung für diese Aktion" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "Fehler 404: Ressource nicht gefunden" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "Die angefragte Ressource kann auf diesem Server nicht gefunden werden" @@ -7640,11 +7651,11 @@ msgstr "Fehler 405: Methode nicht erlaubt" msgid "HTTP method not allowed at URL" msgstr "HTTP-Methode für diese URL nicht erlaubt" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "Fehler 408: Zeitüberschreitung" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "Verbindungszeitüberschreitung bei der Datenanforderung" @@ -7713,7 +7724,7 @@ msgid "Unknown response from server" msgstr "Unbekannte Antwort von Server erhalten" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "Ungültige Antwort von Server" @@ -7782,178 +7793,182 @@ msgstr "In Lagerorten buchen" msgid "Barcode does not match a valid location" msgstr "Barcode entspricht keinem Lagerort" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "Zeilendaten anzeigen" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "Zeilendaten" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "Vorlage einer Stückliste herunterladen" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "Format" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "Dateiformat auswählen" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "Kaskadierend" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "Kaskadierende Stückliste herunterladen" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "Ebenen" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "Maximale Anzahl an Ebenen für Stückliste-Export auswählen (0 = alle Ebenen)" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "Parameter-Daten einschließen" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "Teil-Parameter in Stückliste-Export einschließen" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "Bestand einschließen" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "Teil-Bestand in Stückliste-Export einschließen" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "Herstellerdaten einschließen" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "Teil-Herstellerdaten in Stückliste-Export einschließen" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "Zulieferer einschließen" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "Zulieferer-Daten in Stückliste-Export einschließen" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "Ersatzteil entfernen" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "Wählen Sie ein neues Ersatzteil aus und fügen Sie sie mit den folgenden Eingaben hinzu" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "Sind Sie sicher, dass Sie dieses Ersatzteil entfernen möchten?" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "Ersatzteil entfernen" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "Ersatzteil hinzufügen" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "Stücklisten Ersatzteile bearbeiten" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "Alle ausgewählte Stücklistenpositionen werden gelöscht" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "Ausgewählte Stücklistenpositionen löschen?" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "Stückliste für Bauteile laden" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "Ersatzteile verfügbar" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "Varianten erlaubt" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "Kein Lagerbestand verfügbar" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "Beinhaltet Variante und Ersatzbestand" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "Beinhaltet Variantenbestand" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "Enthält Ersatzbestand" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "Ersatzteile" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "Kaufpreisspanne" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "Durchschnittlicher Kaufpreis" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "Stückliste anzeigen" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "Stücklisten-Position kontrollieren" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "Diese Position wurde kontrolliert" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "Ersatzteile bearbeiten" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "Stücklisten-Position bearbeiten" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "Stücklisten-Position löschen" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "Keine Stücklisten-Position(en) gefunden" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "Sind Sie sicher, dass Sie diese Stücklisten-Position löschen wollen?" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "benötigtes Teil" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "Geerbt von übergeordneter Stückliste" @@ -8368,61 +8383,61 @@ msgstr "Filter entfernen" msgid "Create filter" msgstr "Filter anlegen" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "Aktion verboten" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "Erstellvorgang nicht erlaubt" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "Updatevorgang nicht erlaubt" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "Löschvorgang nicht erlaubt" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "Anzeigevorgang nicht erlaubt" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "Dieses Formular offen lassen" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "Gib eine gültige Nummer ein" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Fehler in Formular" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "Keine Ergebnisse gefunden" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "Suche" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "Eingabe leeren" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "Dateispalte" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "Feldname" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "Spalten auswählen" @@ -8480,78 +8495,78 @@ msgstr "Teile(e) müssen ausgewählt sein bevor Labels gedruckt werden können" msgid "No labels found which match the selected part(s)" msgstr "Keine Labels zu den ausgewählten Teilen gefunden" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "Drucker auswählen" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "Als PDF exportieren" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "Lagerartikel ausgewählt" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "Label-Vorlage auswählen" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "Abbrechen" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "Abschicken" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "Formulartitel" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "Warte auf Server..." -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "Fehler-Informationen anzeigen" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "Akzeptieren" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "Lade Daten" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "ungültige Antwort vom Server" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "Formulardaten fehlen bei Serverantwort" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "Formulardaten fehlerhaft" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "JSON Antwort enthält keine Formulardaten" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "Fehler 400: Ungültige Anfrage" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "Fehler 400 von Server erhalten" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "Fehler bei Formulardaten-Anfrage" @@ -9225,7 +9240,7 @@ msgstr "Einzelpreis" msgid "Single Price Difference" msgstr "Einzelpreisdifferenz" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "Das Plugin wurde installiert" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index 85644b0453..93f2d36d26 100644 --- a/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/InvenTree/locale/el/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-15 23:30+0000\n" -"PO-Revision-Date: 2022-05-16 01:10\n" +"POT-Creation-Date: 2022-05-16 14:52+0000\n" +"PO-Revision-Date: 2022-05-17 01:05\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -17,56 +17,56 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:53 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "" -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "" @@ -75,7 +75,7 @@ msgstr "" msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "" @@ -120,7 +120,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2212 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "" @@ -129,16 +129,16 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:677 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "" @@ -150,10 +150,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 -#: common/models.py:1547 common/models.py:1778 common/models.py:1779 -#: common/models.py:2006 common/models.py:2007 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -192,9 +192,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:43 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -207,19 +207,19 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 @@ -239,56 +239,56 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -431,7 +431,7 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:143 order/models.py:1068 +#: InvenTree/status_codes.py:143 order/models.py:1070 #: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "" @@ -584,42 +584,42 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -629,40 +629,41 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 -#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -673,10 +674,11 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 @@ -689,132 +691,132 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:249 build/serializers.py:794 +#: build/models.py:247 build/serializers.py:791 #: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" -#: build/models.py:253 +#: 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:258 +#: build/models.py:256 msgid "Destination Location" msgstr "" -#: build/models.py:262 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:681 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "" -#: build/models.py:294 order/models.py:134 part/models.py:1009 +#: build/models.py:292 order/models.py:136 part/models.py:1007 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:675 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 #: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 #: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 #: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 @@ -822,62 +824,62 @@ msgstr "" msgid "Notes" msgstr "" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1214 +#: build/models.py:1212 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 @@ -888,18 +890,18 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1589 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -907,13 +909,14 @@ msgstr "" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 @@ -928,87 +931,87 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 @@ -1020,13 +1023,13 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 #: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 @@ -1034,129 +1037,129 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "" @@ -1226,7 +1229,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 @@ -1259,13 +1262,13 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:297 #: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1301,7 +1304,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:990 +#: build/templates/build/detail.html:49 order/models.py:992 #: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1315,7 +1318,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1432,12 +1435,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1503,7 +1506,7 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "" @@ -1527,873 +1530,873 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:401 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:403 +#: common/models.py:400 msgid "Settings value" msgstr "" -#: common/models.py:444 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:464 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:475 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "" -#: common/models.py:524 +#: common/models.py:521 msgid "Key string must be unique" msgstr "" -#: common/models.py:746 +#: common/models.py:743 msgid "No group" msgstr "" -#: common/models.py:788 +#: common/models.py:785 msgid "Restart required" msgstr "" -#: common/models.py:789 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:796 +#: common/models.py:793 msgid "Server Instance Name" msgstr "" -#: common/models.py:798 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:802 +#: common/models.py:799 msgid "Use instance name" msgstr "" -#: common/models.py:803 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:809 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:810 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:816 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "" -#: common/models.py:817 +#: common/models.py:814 msgid "Internal company name" msgstr "" -#: common/models.py:822 +#: common/models.py:819 msgid "Base URL" msgstr "" -#: common/models.py:823 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "" -#: common/models.py:829 +#: common/models.py:826 msgid "Default Currency" msgstr "" -#: common/models.py:830 +#: common/models.py:827 msgid "Default currency" msgstr "" -#: common/models.py:836 +#: common/models.py:833 msgid "Download from URL" msgstr "" -#: common/models.py:837 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:844 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:850 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:851 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:857 +#: common/models.py:854 msgid "IPN Regex" msgstr "" -#: common/models.py:858 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:869 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:870 +#: common/models.py:867 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:876 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:877 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:884 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:891 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:897 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:898 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:904 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:905 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "" -#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:912 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:918 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:919 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:925 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "" -#: common/models.py:926 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:932 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:933 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "" -#: common/models.py:939 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:940 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:946 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:947 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:953 +#: common/models.py:950 msgid "Show Import in Views" msgstr "" -#: common/models.py:954 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:960 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "" -#: common/models.py:961 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "" -#: common/models.py:972 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "" -#: common/models.py:973 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:984 +#: common/models.py:981 msgid "Show Price History" msgstr "" -#: common/models.py:985 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:991 +#: common/models.py:988 msgid "Show related parts" msgstr "" -#: common/models.py:992 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "" -#: common/models.py:998 +#: common/models.py:995 msgid "Create initial stock" msgstr "" -#: common/models.py:999 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1005 +#: common/models.py:1002 msgid "Internal Prices" msgstr "" -#: common/models.py:1006 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1012 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1013 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1019 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1020 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "" -#: common/models.py:1027 +#: common/models.py:1024 msgid "Enable Reports" msgstr "" -#: common/models.py:1028 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1034 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1035 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1041 +#: common/models.py:1038 msgid "Page Size" msgstr "" -#: common/models.py:1042 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:1049 msgid "Test Reports" msgstr "" -#: common/models.py:1053 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1059 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "" -#: common/models.py:1060 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1065 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "" -#: common/models.py:1066 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1072 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1073 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1079 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1080 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1082 +#: common/models.py:1079 msgid "days" msgstr "" -#: common/models.py:1087 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1088 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1094 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1095 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1101 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1102 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1107 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1108 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1112 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1113 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1118 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1129 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1136 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1143 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1157 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1164 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1171 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1210 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1226 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1539 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1287 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1322 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1336 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1343 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1350 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1357 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1398 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1405 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1412 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1419 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1426 msgid "Search Categories" msgstr "" -#: common/models.py:1430 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1433 msgid "Search Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1440 msgid "Search Locations" msgstr "" -#: common/models.py:1444 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1447 msgid "Search Companies" msgstr "" -#: common/models.py:1451 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1458 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1465 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "" -#: common/models.py:1472 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1479 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1486 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1492 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1493 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1499 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1500 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1506 +#: common/models.py:1503 msgid "Date Format" msgstr "" -#: common/models.py:1507 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1521 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1522 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1590 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "" -#: common/models.py:1597 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1598 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1755 common/models.py:1892 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "" -#: common/models.py:1756 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1765 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "" -#: common/models.py:1770 part/models.py:988 plugin/models.py:49 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2401,216 +2404,216 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "" -#: common/models.py:1785 +#: common/models.py:1782 msgid "Token" msgstr "" -#: common/models.py:1786 +#: common/models.py:1783 msgid "Token for access" msgstr "" -#: common/models.py:1793 +#: common/models.py:1790 msgid "Secret" msgstr "" -#: common/models.py:1794 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1859 +#: common/models.py:1856 msgid "Message ID" msgstr "" -#: common/models.py:1860 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1868 +#: common/models.py:1865 msgid "Host" msgstr "" -#: common/models.py:1869 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1876 +#: common/models.py:1873 msgid "Header" msgstr "" -#: common/models.py:1877 +#: common/models.py:1874 msgid "Header of this message" msgstr "" -#: common/models.py:1883 +#: common/models.py:1880 msgid "Body" msgstr "" -#: common/models.py:1884 +#: common/models.py:1881 msgid "Body of this message" msgstr "" -#: common/models.py:1893 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1898 +#: common/models.py:1895 msgid "Worked on" msgstr "" -#: common/models.py:1899 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:619 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2618,11 +2621,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 @@ -2630,59 +2633,59 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2205 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 @@ -2690,66 +2693,66 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:97 +#: company/models.py:545 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:643 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "" @@ -2804,10 +2807,10 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:662 -#: stock/models.py:663 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 @@ -2956,7 +2959,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2989,7 +2992,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3004,8 +3007,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "" @@ -3028,7 +3031,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "" @@ -3057,8 +3060,8 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:627 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3084,12 +3087,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "" @@ -3143,11 +3146,11 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3171,54 +3174,54 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3226,486 +3229,486 @@ msgstr "" msgid "No valid objects provided to template" msgstr "" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:258 +#: label/models.py:255 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:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:256 order/templates/order/order_base.html:124 +#: order/models.py:258 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1155 +#: order/models.py:617 order/models.py:1157 #: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 #: templates/js/translated/order.js:2718 msgid "Order" msgstr "" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 +#: stock/templates/stock/item_base.html:342 #: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "" -#: order/models.py:976 order/templates/order/order_base.html:169 +#: order/models.py:978 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "" @@ -3825,7 +3828,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 @@ -3943,7 +3946,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "" @@ -3951,73 +3954,73 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "" -#: part/api.py:1037 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1041 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1056 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" @@ -4037,46 +4040,46 @@ msgstr "" msgid "On Order" msgstr "" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4087,65 +4090,65 @@ msgstr "" msgid "Parts" msgstr "" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4154,352 +4157,352 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "" @@ -4668,7 +4671,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "" @@ -4816,7 +4819,7 @@ msgstr "" msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "" @@ -4868,46 +4871,38 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4969,20 +4964,20 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "" @@ -4991,8 +4986,8 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "" @@ -5080,7 +5075,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "" @@ -5099,7 +5094,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "" @@ -5138,7 +5133,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "" @@ -5257,7 +5252,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "" @@ -5367,80 +5362,80 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "" @@ -5518,35 +5513,43 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:29 +#: plugin/models.py:36 +msgid "Plugin Metadata" +msgstr "" + +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" +msgstr "" + +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:92 msgid "Key" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "" -#: plugin/models.py:44 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:50 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:123 +#: plugin/models.py:180 msgid "Plugin" msgstr "" -#: plugin/models.py:197 +#: plugin/models.py:254 msgid "Method" msgstr "" @@ -5590,35 +5593,35 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "" @@ -5627,87 +5630,87 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "" @@ -5724,7 +5727,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:667 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 @@ -5738,12 +5741,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2193 +#: stock/models.py:2190 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2199 +#: stock/models.py:2196 msgid "Result" msgstr "" @@ -5773,362 +5776,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:762 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:763 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:568 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:611 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:620 +#: stock/models.py:617 msgid "Base part" msgstr "" -#: stock/models.py:628 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:634 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:637 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:644 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:650 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "" -#: stock/models.py:653 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:669 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "" -#: stock/models.py:683 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:688 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "" -#: stock/models.py:697 +#: stock/models.py:694 msgid "Source Build" msgstr "" -#: stock/models.py:699 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "" -#: stock/models.py:710 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:713 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:719 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:725 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:726 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:749 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:790 +#: stock/models.py:787 msgid "Converted to part" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1322 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1325 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1428 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1612 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2113 +#: stock/models.py:2110 msgid "Entry notes" msgstr "" -#: stock/models.py:2170 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2176 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2194 +#: stock/models.py:2191 msgid "Test name" msgstr "" -#: stock/models.py:2200 +#: stock/models.py:2197 msgid "Test result" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2203 msgid "Test output value" msgstr "" -#: stock/models.py:2213 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "" -#: stock/models.py:2219 +#: stock/models.py:2216 msgid "Test notes" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "" @@ -6153,7 +6156,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" @@ -6177,194 +6180,198 @@ msgstr "" msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 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:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -6385,54 +6392,58 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6485,7 +6496,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "" @@ -6510,55 +6521,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "" @@ -6827,7 +6838,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" @@ -7276,9 +7287,9 @@ msgid "InvenTree Version Information" msgstr "" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7518,15 +7529,15 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "" @@ -7548,13 +7559,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7590,11 +7601,11 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "" @@ -7606,27 +7617,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "" @@ -7638,11 +7649,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7711,7 +7722,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "" @@ -7780,178 +7791,182 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "" @@ -8366,61 +8381,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "" @@ -8478,78 +8493,78 @@ msgstr "" msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "" @@ -9223,7 +9238,7 @@ msgstr "" msgid "Single Price Difference" msgstr "" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index ccce0dabe8..4c5ea67a4c 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: 2022-05-11 13:30+0000\n" +"POT-Creation-Date: 2022-05-16 15:08+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,64 +18,56 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "" - -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "" @@ -84,7 +76,7 @@ msgstr "" msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "" @@ -129,7 +121,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "" @@ -138,16 +130,16 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "" @@ -159,10 +151,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -201,9 +193,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -216,23 +208,23 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -248,56 +240,56 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -440,8 +432,8 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: InvenTree/status_codes.py:143 order/models.py:1070 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "" @@ -593,42 +585,42 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -638,40 +630,41 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -682,14 +675,15 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -698,217 +692,217 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: build/models.py:247 build/serializers.py:791 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" -#: build/models.py:253 +#: 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:258 +#: build/models.py:256 msgid "Destination Location" msgstr "" -#: build/models.py:262 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "" -#: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: build/models.py:292 order/models.py:136 part/models.py:1007 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1214 +#: build/models.py:1212 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" msgstr "" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -916,19 +910,20 @@ msgstr "" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -937,235 +932,235 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 msgid "Location" msgstr "" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "" @@ -1235,13 +1230,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "" @@ -1268,14 +1263,14 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: stock/templates/stock/item_base.html:297 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1310,8 +1305,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: build/templates/build/detail.html:49 order/models.py:992 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1324,7 +1319,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1441,12 +1436,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1512,7 +1507,7 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "" @@ -1536,873 +1531,873 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:387 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:389 +#: common/models.py:400 msgid "Settings value" msgstr "" -#: common/models.py:430 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:450 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:461 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "" -#: common/models.py:510 +#: common/models.py:521 msgid "Key string must be unique" msgstr "" -#: common/models.py:742 +#: common/models.py:743 msgid "No group" msgstr "" -#: common/models.py:784 +#: common/models.py:785 msgid "Restart required" msgstr "" -#: common/models.py:785 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:792 +#: common/models.py:793 msgid "Server Instance Name" msgstr "" -#: common/models.py:794 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:798 +#: common/models.py:799 msgid "Use instance name" msgstr "" -#: common/models.py:799 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:805 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:806 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "" -#: common/models.py:813 +#: common/models.py:814 msgid "Internal company name" msgstr "" -#: common/models.py:818 +#: common/models.py:819 msgid "Base URL" msgstr "" -#: common/models.py:819 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "" -#: common/models.py:825 +#: common/models.py:826 msgid "Default Currency" msgstr "" -#: common/models.py:826 +#: common/models.py:827 msgid "Default currency" msgstr "" -#: common/models.py:832 +#: common/models.py:833 msgid "Download from URL" msgstr "" -#: common/models.py:833 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:840 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:846 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:854 msgid "IPN Regex" msgstr "" -#: common/models.py:854 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:858 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:865 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:866 +#: common/models.py:867 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:872 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:873 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:880 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:886 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:887 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:893 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:894 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:901 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:908 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:914 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:915 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:921 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "" -#: common/models.py:922 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:928 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:929 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "" -#: common/models.py:935 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:936 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:942 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:943 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:949 +#: common/models.py:950 msgid "Show Import in Views" msgstr "" -#: common/models.py:950 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:956 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "" -#: common/models.py:957 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "" -#: common/models.py:968 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "" -#: common/models.py:969 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:980 +#: common/models.py:981 msgid "Show Price History" msgstr "" -#: common/models.py:981 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:987 +#: common/models.py:988 msgid "Show related parts" msgstr "" -#: common/models.py:988 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "" -#: common/models.py:994 +#: common/models.py:995 msgid "Create initial stock" msgstr "" -#: common/models.py:995 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1001 +#: common/models.py:1002 msgid "Internal Prices" msgstr "" -#: common/models.py:1002 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1008 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1009 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1015 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1016 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "" -#: common/models.py:1023 +#: common/models.py:1024 msgid "Enable Reports" msgstr "" -#: common/models.py:1024 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1031 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1037 +#: common/models.py:1038 msgid "Page Size" msgstr "" -#: common/models.py:1038 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1048 +#: common/models.py:1049 msgid "Test Reports" msgstr "" -#: common/models.py:1049 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1055 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "" -#: common/models.py:1056 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1061 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "" -#: common/models.py:1062 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1068 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1069 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1075 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1076 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1078 +#: common/models.py:1079 msgid "days" msgstr "" -#: common/models.py:1083 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1084 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1090 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1091 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1097 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1098 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1103 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1104 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1108 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1109 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1115 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1121 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "" -#: common/models.py:1122 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1128 +#: common/models.py:1129 msgid "Enable registration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1135 +#: common/models.py:1136 msgid "Enable SSO" msgstr "" -#: common/models.py:1136 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1142 +#: common/models.py:1143 msgid "Email required" msgstr "" -#: common/models.py:1143 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1149 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1150 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1156 +#: common/models.py:1157 msgid "Mail twice" msgstr "" -#: common/models.py:1157 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1163 +#: common/models.py:1164 msgid "Password twice" msgstr "" -#: common/models.py:1164 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1170 +#: common/models.py:1171 msgid "Group on signup" msgstr "" -#: common/models.py:1171 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1177 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "" -#: common/models.py:1178 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1184 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1185 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1193 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "" -#: common/models.py:1194 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1201 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1202 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1209 +#: common/models.py:1210 msgid "Enable app integration" msgstr "" -#: common/models.py:1210 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1217 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1218 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1225 +#: common/models.py:1226 msgid "Enable event integration" msgstr "" -#: common/models.py:1226 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1272 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1273 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1279 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1280 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1286 +#: common/models.py:1287 msgid "Show latest parts" msgstr "" -#: common/models.py:1287 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1293 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "" -#: common/models.py:1294 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1300 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1301 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1308 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1314 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1315 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1321 +#: common/models.py:1322 msgid "Show low stock" msgstr "" -#: common/models.py:1322 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1336 msgid "Show needed stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1343 msgid "Show expired stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1350 msgid "Show stale stock" msgstr "" -#: common/models.py:1350 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1357 msgid "Show pending builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "" -#: common/models.py:1364 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1391 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1392 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1397 +#: common/models.py:1398 msgid "Enable label printing" msgstr "" -#: common/models.py:1398 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1404 +#: common/models.py:1405 msgid "Inline label display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1412 msgid "Inline report display" msgstr "" -#: common/models.py:1412 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1418 +#: common/models.py:1419 msgid "Search Parts" msgstr "" -#: common/models.py:1419 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1426 msgid "Search Categories" msgstr "" -#: common/models.py:1426 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1433 msgid "Search Stock" msgstr "" -#: common/models.py:1433 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1440 msgid "Search Locations" msgstr "" -#: common/models.py:1440 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1447 msgid "Search Companies" msgstr "" -#: common/models.py:1447 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1461 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "" -#: common/models.py:1468 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1475 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1481 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1482 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1489 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1495 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1496 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1502 +#: common/models.py:1503 msgid "Date Format" msgstr "" -#: common/models.py:1503 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1518 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "" -#: common/models.py:1583 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1584 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "" -#: common/models.py:1742 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2410,216 +2405,216 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Token" msgstr "" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Token for access" msgstr "" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Secret" msgstr "" -#: common/models.py:1780 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1847 +#: common/models.py:1856 msgid "Message ID" msgstr "" -#: common/models.py:1848 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1856 +#: common/models.py:1865 msgid "Host" msgstr "" -#: common/models.py:1857 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1864 +#: common/models.py:1873 msgid "Header" msgstr "" -#: common/models.py:1865 +#: common/models.py:1874 msgid "Header of this message" msgstr "" -#: common/models.py:1871 +#: common/models.py:1880 msgid "Body" msgstr "" -#: common/models.py:1872 +#: common/models.py:1881 msgid "Body of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1886 +#: common/models.py:1895 msgid "Worked on" msgstr "" -#: common/models.py:1887 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:612 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2627,138 +2622,138 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: company/models.py:545 company/templates/company/supplier_part.html:97 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "" @@ -2813,11 +2808,11 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -2965,7 +2960,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2998,7 +2993,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3013,8 +3008,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "" @@ -3037,7 +3032,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "" @@ -3066,8 +3061,8 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3093,12 +3088,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "" @@ -3152,11 +3147,11 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3180,54 +3175,54 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3235,486 +3230,486 @@ msgstr "" msgid "No valid objects provided to template" msgstr "" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:258 +#: label/models.py:255 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:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: order/models.py:258 order/templates/order/order_base.html:124 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: order/models.py:617 order/models.py:1157 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: stock/templates/stock/item_base.html:342 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "" -#: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: order/models.py:978 order/templates/order/order_base.html:169 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "" @@ -3834,10 +3829,10 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3928,7 +3923,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "" @@ -3952,7 +3947,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "" @@ -3960,73 +3955,73 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "" -#: part/api.py:1045 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1049 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1064 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" @@ -4046,46 +4041,46 @@ msgstr "" msgid "On Order" msgstr "" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4096,65 +4091,65 @@ msgstr "" msgid "Parts" msgstr "" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4163,352 +4158,352 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "" @@ -4677,7 +4672,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "" @@ -4825,7 +4820,7 @@ msgstr "" msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "" @@ -4877,46 +4872,38 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4978,20 +4965,20 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "" @@ -5000,8 +4987,8 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "" @@ -5076,7 +5063,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5089,7 +5076,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "" @@ -5108,7 +5095,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "" @@ -5147,7 +5134,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "" @@ -5267,7 +5254,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "" @@ -5377,80 +5364,80 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "" @@ -5458,46 +5445,58 @@ msgstr "" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" -#: plugin/barcode.py:53 plugin/barcode.py:154 +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 msgid "Must provide barcode_data parameter" msgstr "" -#: plugin/barcode.py:130 +#: plugin/base/barcodes/api.py:129 msgid "No match found for barcode data" msgstr "" -#: plugin/barcode.py:132 +#: plugin/base/barcodes/api.py:131 msgid "Match found for barcode data" msgstr "" -#: plugin/barcode.py:157 +#: plugin/base/barcodes/api.py:156 msgid "Must provide stockitem parameter" msgstr "" -#: plugin/barcode.py:164 +#: plugin/base/barcodes/api.py:163 msgid "No matching stock item found" msgstr "" -#: plugin/barcode.py:195 +#: plugin/base/barcodes/api.py:193 msgid "Barcode already matches Stock Item" msgstr "" -#: plugin/barcode.py:199 +#: plugin/base/barcodes/api.py:197 msgid "Barcode already matches Stock Location" msgstr "" -#: plugin/barcode.py:203 +#: plugin/base/barcodes/api.py:201 msgid "Barcode already matches Part" msgstr "" -#: plugin/barcode.py:209 plugin/barcode.py:221 +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 msgid "Barcode hash already matches Stock Item" msgstr "" -#: plugin/barcode.py:227 +#: plugin/base/barcodes/api.py:225 msgid "Barcode associated with Stock Item" msgstr "" +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5516,50 +5515,54 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:226 -msgid "Label printing failed" +#: plugin/models.py:36 +msgid "Plugin Metadata" msgstr "" -#: plugin/integration.py:146 -msgid "No author found" +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" msgstr "" -#: plugin/integration.py:160 -msgid "No date found" -msgstr "" - -#: plugin/models.py:27 +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:92 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:180 msgid "Plugin" msgstr "" -#: plugin/models.py:176 +#: plugin/models.py:254 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "" @@ -5592,35 +5595,35 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "" @@ -5629,87 +5632,87 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "" @@ -5726,12 +5729,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "" @@ -5740,19 +5743,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2190 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2196 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "" @@ -5775,362 +5778,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:755 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:561 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:604 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:613 +#: stock/models.py:617 msgid "Base part" msgstr "" -#: stock/models.py:621 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:630 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:637 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "" -#: stock/models.py:646 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:662 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:681 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "" -#: stock/models.py:690 +#: stock/models.py:694 msgid "Source Build" msgstr "" -#: stock/models.py:692 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "" -#: stock/models.py:703 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:706 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:712 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:719 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:732 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "" -#: stock/models.py:732 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:751 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:783 +#: stock/models.py:787 msgid "Converted to part" msgstr "" -#: stock/models.py:1303 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1309 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1315 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1318 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1399 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1402 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1405 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1408 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1411 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1414 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1429 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1605 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2106 +#: stock/models.py:2110 msgid "Entry notes" msgstr "" -#: stock/models.py:2163 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2169 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2187 +#: stock/models.py:2191 msgid "Test name" msgstr "" -#: stock/models.py:2193 +#: stock/models.py:2197 msgid "Test result" msgstr "" -#: stock/models.py:2199 +#: stock/models.py:2203 msgid "Test output value" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "" -#: stock/models.py:2212 +#: stock/models.py:2216 msgid "Test notes" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "" @@ -6155,7 +6158,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" @@ -6179,194 +6182,198 @@ msgstr "" msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 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:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -6387,54 +6394,58 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6487,7 +6498,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "" @@ -6512,55 +6523,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "" @@ -6829,7 +6840,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" @@ -7278,9 +7289,9 @@ msgid "InvenTree Version Information" msgstr "" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7522,15 +7533,15 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "" @@ -7552,13 +7563,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7594,11 +7605,11 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "" @@ -7610,27 +7621,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "" @@ -7642,11 +7653,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7715,7 +7726,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "" @@ -7784,178 +7795,182 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "" @@ -8098,12 +8113,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "" @@ -8132,11 +8147,11 @@ msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "" @@ -8144,21 +8159,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "" @@ -8170,7 +8185,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8178,11 +8193,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "" @@ -8370,61 +8385,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "" @@ -8482,78 +8497,78 @@ msgstr "" msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "" @@ -8763,209 +8778,209 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "" @@ -9227,7 +9242,7 @@ msgstr "" msgid "Single Price Difference" msgstr "" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index 84b66ff042..3dd32efb54 100644 --- a/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/InvenTree/locale/es/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-15 23:30+0000\n" -"PO-Revision-Date: 2022-05-16 01:10\n" +"POT-Creation-Date: 2022-05-16 14:52+0000\n" +"PO-Revision-Date: 2022-05-17 01:05\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -17,56 +17,56 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:53 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "" -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "" @@ -75,7 +75,7 @@ msgstr "" msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "" @@ -120,7 +120,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2212 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "" @@ -129,16 +129,16 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:677 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "" @@ -150,10 +150,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 -#: common/models.py:1547 common/models.py:1778 common/models.py:1779 -#: common/models.py:2006 common/models.py:2007 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -192,9 +192,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:43 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -207,19 +207,19 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 @@ -239,56 +239,56 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -431,7 +431,7 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:143 order/models.py:1068 +#: InvenTree/status_codes.py:143 order/models.py:1070 #: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "" @@ -584,42 +584,42 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -629,40 +629,41 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 -#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -673,10 +674,11 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 @@ -689,132 +691,132 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:249 build/serializers.py:794 +#: build/models.py:247 build/serializers.py:791 #: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" -#: build/models.py:253 +#: 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:258 +#: build/models.py:256 msgid "Destination Location" msgstr "" -#: build/models.py:262 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:681 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "" -#: build/models.py:294 order/models.py:134 part/models.py:1009 +#: build/models.py:292 order/models.py:136 part/models.py:1007 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:675 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 #: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 #: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 #: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 @@ -822,62 +824,62 @@ msgstr "" msgid "Notes" msgstr "" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1214 +#: build/models.py:1212 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 @@ -888,18 +890,18 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1589 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -907,13 +909,14 @@ msgstr "" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 @@ -928,87 +931,87 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 @@ -1020,13 +1023,13 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 #: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 @@ -1034,129 +1037,129 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "" @@ -1226,7 +1229,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 @@ -1259,13 +1262,13 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:297 #: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1301,7 +1304,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:990 +#: build/templates/build/detail.html:49 order/models.py:992 #: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1315,7 +1318,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1432,12 +1435,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1503,7 +1506,7 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "" @@ -1527,873 +1530,873 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:401 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:403 +#: common/models.py:400 msgid "Settings value" msgstr "" -#: common/models.py:444 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:464 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:475 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "" -#: common/models.py:524 +#: common/models.py:521 msgid "Key string must be unique" msgstr "" -#: common/models.py:746 +#: common/models.py:743 msgid "No group" msgstr "" -#: common/models.py:788 +#: common/models.py:785 msgid "Restart required" msgstr "" -#: common/models.py:789 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:796 +#: common/models.py:793 msgid "Server Instance Name" msgstr "" -#: common/models.py:798 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:802 +#: common/models.py:799 msgid "Use instance name" msgstr "" -#: common/models.py:803 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:809 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:810 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:816 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "" -#: common/models.py:817 +#: common/models.py:814 msgid "Internal company name" msgstr "" -#: common/models.py:822 +#: common/models.py:819 msgid "Base URL" msgstr "" -#: common/models.py:823 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "" -#: common/models.py:829 +#: common/models.py:826 msgid "Default Currency" msgstr "" -#: common/models.py:830 +#: common/models.py:827 msgid "Default currency" msgstr "" -#: common/models.py:836 +#: common/models.py:833 msgid "Download from URL" msgstr "" -#: common/models.py:837 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:844 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:850 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:851 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:857 +#: common/models.py:854 msgid "IPN Regex" msgstr "" -#: common/models.py:858 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:869 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:870 +#: common/models.py:867 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:876 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:877 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:884 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:891 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:897 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:898 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:904 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:905 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "" -#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:912 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:918 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:919 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:925 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "" -#: common/models.py:926 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:932 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:933 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "" -#: common/models.py:939 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:940 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:946 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:947 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:953 +#: common/models.py:950 msgid "Show Import in Views" msgstr "" -#: common/models.py:954 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:960 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "" -#: common/models.py:961 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "" -#: common/models.py:972 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "" -#: common/models.py:973 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:984 +#: common/models.py:981 msgid "Show Price History" msgstr "" -#: common/models.py:985 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:991 +#: common/models.py:988 msgid "Show related parts" msgstr "" -#: common/models.py:992 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "" -#: common/models.py:998 +#: common/models.py:995 msgid "Create initial stock" msgstr "" -#: common/models.py:999 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1005 +#: common/models.py:1002 msgid "Internal Prices" msgstr "" -#: common/models.py:1006 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1012 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1013 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1019 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1020 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "" -#: common/models.py:1027 +#: common/models.py:1024 msgid "Enable Reports" msgstr "" -#: common/models.py:1028 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1034 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1035 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1041 +#: common/models.py:1038 msgid "Page Size" msgstr "" -#: common/models.py:1042 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:1049 msgid "Test Reports" msgstr "" -#: common/models.py:1053 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1059 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "" -#: common/models.py:1060 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1065 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "" -#: common/models.py:1066 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1072 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1073 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1079 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1080 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1082 +#: common/models.py:1079 msgid "days" msgstr "" -#: common/models.py:1087 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1088 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1094 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1095 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1101 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1102 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1107 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1108 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1112 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1113 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1118 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1129 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1136 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1143 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1157 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1164 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1171 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1210 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1226 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1539 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1287 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1322 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1336 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1343 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1350 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1357 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1398 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1405 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1412 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1419 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1426 msgid "Search Categories" msgstr "" -#: common/models.py:1430 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1433 msgid "Search Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1440 msgid "Search Locations" msgstr "" -#: common/models.py:1444 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1447 msgid "Search Companies" msgstr "" -#: common/models.py:1451 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1458 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1465 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "" -#: common/models.py:1472 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1479 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1486 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1492 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1493 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1499 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1500 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1506 +#: common/models.py:1503 msgid "Date Format" msgstr "" -#: common/models.py:1507 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1521 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1522 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1590 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "" -#: common/models.py:1597 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1598 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1755 common/models.py:1892 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "" -#: common/models.py:1756 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1765 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "" -#: common/models.py:1770 part/models.py:988 plugin/models.py:49 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2401,216 +2404,216 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "" -#: common/models.py:1785 +#: common/models.py:1782 msgid "Token" msgstr "" -#: common/models.py:1786 +#: common/models.py:1783 msgid "Token for access" msgstr "" -#: common/models.py:1793 +#: common/models.py:1790 msgid "Secret" msgstr "" -#: common/models.py:1794 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1859 +#: common/models.py:1856 msgid "Message ID" msgstr "" -#: common/models.py:1860 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1868 +#: common/models.py:1865 msgid "Host" msgstr "" -#: common/models.py:1869 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1876 +#: common/models.py:1873 msgid "Header" msgstr "" -#: common/models.py:1877 +#: common/models.py:1874 msgid "Header of this message" msgstr "" -#: common/models.py:1883 +#: common/models.py:1880 msgid "Body" msgstr "" -#: common/models.py:1884 +#: common/models.py:1881 msgid "Body of this message" msgstr "" -#: common/models.py:1893 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1898 +#: common/models.py:1895 msgid "Worked on" msgstr "" -#: common/models.py:1899 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:619 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2618,11 +2621,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 @@ -2630,59 +2633,59 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2205 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 @@ -2690,66 +2693,66 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:97 +#: company/models.py:545 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:643 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "" @@ -2804,10 +2807,10 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:662 -#: stock/models.py:663 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 @@ -2956,7 +2959,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2989,7 +2992,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3004,8 +3007,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "" @@ -3028,7 +3031,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "" @@ -3057,8 +3060,8 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:627 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3084,12 +3087,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "" @@ -3143,11 +3146,11 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3171,54 +3174,54 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3226,486 +3229,486 @@ msgstr "" msgid "No valid objects provided to template" msgstr "" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:258 +#: label/models.py:255 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:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:256 order/templates/order/order_base.html:124 +#: order/models.py:258 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1155 +#: order/models.py:617 order/models.py:1157 #: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 #: templates/js/translated/order.js:2718 msgid "Order" msgstr "" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 +#: stock/templates/stock/item_base.html:342 #: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "" -#: order/models.py:976 order/templates/order/order_base.html:169 +#: order/models.py:978 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "" @@ -3825,7 +3828,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 @@ -3943,7 +3946,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "" @@ -3951,73 +3954,73 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "" -#: part/api.py:1037 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1041 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1056 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" @@ -4037,46 +4040,46 @@ msgstr "" msgid "On Order" msgstr "" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4087,65 +4090,65 @@ msgstr "" msgid "Parts" msgstr "" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4154,352 +4157,352 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "" @@ -4668,7 +4671,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "" @@ -4816,7 +4819,7 @@ msgstr "" msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "" @@ -4868,46 +4871,38 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4969,20 +4964,20 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "" @@ -4991,8 +4986,8 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "" @@ -5080,7 +5075,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "" @@ -5099,7 +5094,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "" @@ -5138,7 +5133,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "" @@ -5257,7 +5252,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "" @@ -5367,80 +5362,80 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "" @@ -5518,35 +5513,43 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:29 +#: plugin/models.py:36 +msgid "Plugin Metadata" +msgstr "" + +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" +msgstr "" + +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:92 msgid "Key" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "" -#: plugin/models.py:44 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:50 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:123 +#: plugin/models.py:180 msgid "Plugin" msgstr "" -#: plugin/models.py:197 +#: plugin/models.py:254 msgid "Method" msgstr "" @@ -5590,35 +5593,35 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "" @@ -5627,87 +5630,87 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "" @@ -5724,7 +5727,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:667 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 @@ -5738,12 +5741,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2193 +#: stock/models.py:2190 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2199 +#: stock/models.py:2196 msgid "Result" msgstr "" @@ -5773,362 +5776,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:762 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:763 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:568 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:611 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:620 +#: stock/models.py:617 msgid "Base part" msgstr "" -#: stock/models.py:628 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:634 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:637 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:644 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:650 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "" -#: stock/models.py:653 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:669 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "" -#: stock/models.py:683 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:688 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "" -#: stock/models.py:697 +#: stock/models.py:694 msgid "Source Build" msgstr "" -#: stock/models.py:699 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "" -#: stock/models.py:710 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:713 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:719 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:725 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:726 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:749 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:790 +#: stock/models.py:787 msgid "Converted to part" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1322 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1325 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1428 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1612 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2113 +#: stock/models.py:2110 msgid "Entry notes" msgstr "" -#: stock/models.py:2170 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2176 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2194 +#: stock/models.py:2191 msgid "Test name" msgstr "" -#: stock/models.py:2200 +#: stock/models.py:2197 msgid "Test result" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2203 msgid "Test output value" msgstr "" -#: stock/models.py:2213 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "" -#: stock/models.py:2219 +#: stock/models.py:2216 msgid "Test notes" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "" @@ -6153,7 +6156,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" @@ -6177,194 +6180,198 @@ msgstr "" msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 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:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -6385,54 +6392,58 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6485,7 +6496,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "" @@ -6510,55 +6521,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "" @@ -6827,7 +6838,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" @@ -7276,9 +7287,9 @@ msgid "InvenTree Version Information" msgstr "" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7518,15 +7529,15 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "" @@ -7548,13 +7559,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7590,11 +7601,11 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "" @@ -7606,27 +7617,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "" @@ -7638,11 +7649,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7711,7 +7722,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "" @@ -7780,178 +7791,182 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "" @@ -8366,61 +8381,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "" @@ -8478,78 +8493,78 @@ msgstr "" msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "" @@ -9223,7 +9238,7 @@ msgstr "" msgid "Single Price Difference" msgstr "" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po index ccce0dabe8..4c5ea67a4c 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: 2022-05-11 13:30+0000\n" +"POT-Creation-Date: 2022-05-16 15:08+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,64 +18,56 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "" - -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "" @@ -84,7 +76,7 @@ msgstr "" msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "" @@ -129,7 +121,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "" @@ -138,16 +130,16 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "" @@ -159,10 +151,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -201,9 +193,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -216,23 +208,23 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -248,56 +240,56 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -440,8 +432,8 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: InvenTree/status_codes.py:143 order/models.py:1070 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "" @@ -593,42 +585,42 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -638,40 +630,41 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -682,14 +675,15 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -698,217 +692,217 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: build/models.py:247 build/serializers.py:791 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" -#: build/models.py:253 +#: 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:258 +#: build/models.py:256 msgid "Destination Location" msgstr "" -#: build/models.py:262 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "" -#: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: build/models.py:292 order/models.py:136 part/models.py:1007 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1214 +#: build/models.py:1212 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" msgstr "" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -916,19 +910,20 @@ msgstr "" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -937,235 +932,235 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 msgid "Location" msgstr "" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "" @@ -1235,13 +1230,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "" @@ -1268,14 +1263,14 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: stock/templates/stock/item_base.html:297 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1310,8 +1305,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: build/templates/build/detail.html:49 order/models.py:992 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1324,7 +1319,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1441,12 +1436,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1512,7 +1507,7 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "" @@ -1536,873 +1531,873 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:387 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:389 +#: common/models.py:400 msgid "Settings value" msgstr "" -#: common/models.py:430 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:450 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:461 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "" -#: common/models.py:510 +#: common/models.py:521 msgid "Key string must be unique" msgstr "" -#: common/models.py:742 +#: common/models.py:743 msgid "No group" msgstr "" -#: common/models.py:784 +#: common/models.py:785 msgid "Restart required" msgstr "" -#: common/models.py:785 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:792 +#: common/models.py:793 msgid "Server Instance Name" msgstr "" -#: common/models.py:794 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:798 +#: common/models.py:799 msgid "Use instance name" msgstr "" -#: common/models.py:799 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:805 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:806 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "" -#: common/models.py:813 +#: common/models.py:814 msgid "Internal company name" msgstr "" -#: common/models.py:818 +#: common/models.py:819 msgid "Base URL" msgstr "" -#: common/models.py:819 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "" -#: common/models.py:825 +#: common/models.py:826 msgid "Default Currency" msgstr "" -#: common/models.py:826 +#: common/models.py:827 msgid "Default currency" msgstr "" -#: common/models.py:832 +#: common/models.py:833 msgid "Download from URL" msgstr "" -#: common/models.py:833 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:840 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:846 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:854 msgid "IPN Regex" msgstr "" -#: common/models.py:854 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:858 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:865 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:866 +#: common/models.py:867 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:872 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:873 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:880 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:886 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:887 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:893 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:894 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:901 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:908 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:914 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:915 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:921 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "" -#: common/models.py:922 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:928 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:929 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "" -#: common/models.py:935 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:936 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:942 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:943 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:949 +#: common/models.py:950 msgid "Show Import in Views" msgstr "" -#: common/models.py:950 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:956 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "" -#: common/models.py:957 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "" -#: common/models.py:968 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "" -#: common/models.py:969 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:980 +#: common/models.py:981 msgid "Show Price History" msgstr "" -#: common/models.py:981 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:987 +#: common/models.py:988 msgid "Show related parts" msgstr "" -#: common/models.py:988 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "" -#: common/models.py:994 +#: common/models.py:995 msgid "Create initial stock" msgstr "" -#: common/models.py:995 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1001 +#: common/models.py:1002 msgid "Internal Prices" msgstr "" -#: common/models.py:1002 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1008 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1009 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1015 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1016 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "" -#: common/models.py:1023 +#: common/models.py:1024 msgid "Enable Reports" msgstr "" -#: common/models.py:1024 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1031 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1037 +#: common/models.py:1038 msgid "Page Size" msgstr "" -#: common/models.py:1038 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1048 +#: common/models.py:1049 msgid "Test Reports" msgstr "" -#: common/models.py:1049 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1055 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "" -#: common/models.py:1056 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1061 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "" -#: common/models.py:1062 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1068 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1069 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1075 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1076 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1078 +#: common/models.py:1079 msgid "days" msgstr "" -#: common/models.py:1083 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1084 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1090 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1091 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1097 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1098 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1103 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1104 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1108 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1109 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1115 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1121 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "" -#: common/models.py:1122 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1128 +#: common/models.py:1129 msgid "Enable registration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1135 +#: common/models.py:1136 msgid "Enable SSO" msgstr "" -#: common/models.py:1136 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1142 +#: common/models.py:1143 msgid "Email required" msgstr "" -#: common/models.py:1143 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1149 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1150 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1156 +#: common/models.py:1157 msgid "Mail twice" msgstr "" -#: common/models.py:1157 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1163 +#: common/models.py:1164 msgid "Password twice" msgstr "" -#: common/models.py:1164 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1170 +#: common/models.py:1171 msgid "Group on signup" msgstr "" -#: common/models.py:1171 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1177 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "" -#: common/models.py:1178 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1184 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1185 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1193 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "" -#: common/models.py:1194 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1201 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1202 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1209 +#: common/models.py:1210 msgid "Enable app integration" msgstr "" -#: common/models.py:1210 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1217 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1218 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1225 +#: common/models.py:1226 msgid "Enable event integration" msgstr "" -#: common/models.py:1226 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1272 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1273 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1279 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1280 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1286 +#: common/models.py:1287 msgid "Show latest parts" msgstr "" -#: common/models.py:1287 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1293 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "" -#: common/models.py:1294 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1300 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1301 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1308 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1314 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1315 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1321 +#: common/models.py:1322 msgid "Show low stock" msgstr "" -#: common/models.py:1322 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1336 msgid "Show needed stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1343 msgid "Show expired stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1350 msgid "Show stale stock" msgstr "" -#: common/models.py:1350 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1357 msgid "Show pending builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "" -#: common/models.py:1364 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1391 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1392 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1397 +#: common/models.py:1398 msgid "Enable label printing" msgstr "" -#: common/models.py:1398 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1404 +#: common/models.py:1405 msgid "Inline label display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1412 msgid "Inline report display" msgstr "" -#: common/models.py:1412 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1418 +#: common/models.py:1419 msgid "Search Parts" msgstr "" -#: common/models.py:1419 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1426 msgid "Search Categories" msgstr "" -#: common/models.py:1426 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1433 msgid "Search Stock" msgstr "" -#: common/models.py:1433 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1440 msgid "Search Locations" msgstr "" -#: common/models.py:1440 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1447 msgid "Search Companies" msgstr "" -#: common/models.py:1447 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1461 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "" -#: common/models.py:1468 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1475 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1481 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1482 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1489 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1495 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1496 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1502 +#: common/models.py:1503 msgid "Date Format" msgstr "" -#: common/models.py:1503 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1518 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "" -#: common/models.py:1583 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1584 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "" -#: common/models.py:1742 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2410,216 +2405,216 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Token" msgstr "" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Token for access" msgstr "" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Secret" msgstr "" -#: common/models.py:1780 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1847 +#: common/models.py:1856 msgid "Message ID" msgstr "" -#: common/models.py:1848 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1856 +#: common/models.py:1865 msgid "Host" msgstr "" -#: common/models.py:1857 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1864 +#: common/models.py:1873 msgid "Header" msgstr "" -#: common/models.py:1865 +#: common/models.py:1874 msgid "Header of this message" msgstr "" -#: common/models.py:1871 +#: common/models.py:1880 msgid "Body" msgstr "" -#: common/models.py:1872 +#: common/models.py:1881 msgid "Body of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1886 +#: common/models.py:1895 msgid "Worked on" msgstr "" -#: common/models.py:1887 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:612 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2627,138 +2622,138 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: company/models.py:545 company/templates/company/supplier_part.html:97 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "" @@ -2813,11 +2808,11 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -2965,7 +2960,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2998,7 +2993,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3013,8 +3008,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "" @@ -3037,7 +3032,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "" @@ -3066,8 +3061,8 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3093,12 +3088,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "" @@ -3152,11 +3147,11 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3180,54 +3175,54 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3235,486 +3230,486 @@ msgstr "" msgid "No valid objects provided to template" msgstr "" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:258 +#: label/models.py:255 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:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: order/models.py:258 order/templates/order/order_base.html:124 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: order/models.py:617 order/models.py:1157 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: stock/templates/stock/item_base.html:342 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "" -#: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: order/models.py:978 order/templates/order/order_base.html:169 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "" @@ -3834,10 +3829,10 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3928,7 +3923,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "" @@ -3952,7 +3947,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "" @@ -3960,73 +3955,73 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "" -#: part/api.py:1045 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1049 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1064 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" @@ -4046,46 +4041,46 @@ msgstr "" msgid "On Order" msgstr "" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4096,65 +4091,65 @@ msgstr "" msgid "Parts" msgstr "" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4163,352 +4158,352 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "" @@ -4677,7 +4672,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "" @@ -4825,7 +4820,7 @@ msgstr "" msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "" @@ -4877,46 +4872,38 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4978,20 +4965,20 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "" @@ -5000,8 +4987,8 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "" @@ -5076,7 +5063,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5089,7 +5076,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "" @@ -5108,7 +5095,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "" @@ -5147,7 +5134,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "" @@ -5267,7 +5254,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "" @@ -5377,80 +5364,80 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "" @@ -5458,46 +5445,58 @@ msgstr "" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" -#: plugin/barcode.py:53 plugin/barcode.py:154 +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 msgid "Must provide barcode_data parameter" msgstr "" -#: plugin/barcode.py:130 +#: plugin/base/barcodes/api.py:129 msgid "No match found for barcode data" msgstr "" -#: plugin/barcode.py:132 +#: plugin/base/barcodes/api.py:131 msgid "Match found for barcode data" msgstr "" -#: plugin/barcode.py:157 +#: plugin/base/barcodes/api.py:156 msgid "Must provide stockitem parameter" msgstr "" -#: plugin/barcode.py:164 +#: plugin/base/barcodes/api.py:163 msgid "No matching stock item found" msgstr "" -#: plugin/barcode.py:195 +#: plugin/base/barcodes/api.py:193 msgid "Barcode already matches Stock Item" msgstr "" -#: plugin/barcode.py:199 +#: plugin/base/barcodes/api.py:197 msgid "Barcode already matches Stock Location" msgstr "" -#: plugin/barcode.py:203 +#: plugin/base/barcodes/api.py:201 msgid "Barcode already matches Part" msgstr "" -#: plugin/barcode.py:209 plugin/barcode.py:221 +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 msgid "Barcode hash already matches Stock Item" msgstr "" -#: plugin/barcode.py:227 +#: plugin/base/barcodes/api.py:225 msgid "Barcode associated with Stock Item" msgstr "" +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5516,50 +5515,54 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:226 -msgid "Label printing failed" +#: plugin/models.py:36 +msgid "Plugin Metadata" msgstr "" -#: plugin/integration.py:146 -msgid "No author found" +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" msgstr "" -#: plugin/integration.py:160 -msgid "No date found" -msgstr "" - -#: plugin/models.py:27 +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:92 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:180 msgid "Plugin" msgstr "" -#: plugin/models.py:176 +#: plugin/models.py:254 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "" @@ -5592,35 +5595,35 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "" @@ -5629,87 +5632,87 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "" @@ -5726,12 +5729,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "" @@ -5740,19 +5743,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2190 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2196 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "" @@ -5775,362 +5778,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:755 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:561 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:604 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:613 +#: stock/models.py:617 msgid "Base part" msgstr "" -#: stock/models.py:621 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:630 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:637 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "" -#: stock/models.py:646 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:662 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:681 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "" -#: stock/models.py:690 +#: stock/models.py:694 msgid "Source Build" msgstr "" -#: stock/models.py:692 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "" -#: stock/models.py:703 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:706 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:712 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:719 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:732 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "" -#: stock/models.py:732 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:751 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:783 +#: stock/models.py:787 msgid "Converted to part" msgstr "" -#: stock/models.py:1303 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1309 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1315 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1318 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1399 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1402 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1405 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1408 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1411 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1414 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1429 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1605 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2106 +#: stock/models.py:2110 msgid "Entry notes" msgstr "" -#: stock/models.py:2163 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2169 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2187 +#: stock/models.py:2191 msgid "Test name" msgstr "" -#: stock/models.py:2193 +#: stock/models.py:2197 msgid "Test result" msgstr "" -#: stock/models.py:2199 +#: stock/models.py:2203 msgid "Test output value" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "" -#: stock/models.py:2212 +#: stock/models.py:2216 msgid "Test notes" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "" @@ -6155,7 +6158,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" @@ -6179,194 +6182,198 @@ msgstr "" msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 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:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -6387,54 +6394,58 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6487,7 +6498,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "" @@ -6512,55 +6523,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "" @@ -6829,7 +6840,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" @@ -7278,9 +7289,9 @@ msgid "InvenTree Version Information" msgstr "" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7522,15 +7533,15 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "" @@ -7552,13 +7563,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7594,11 +7605,11 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "" @@ -7610,27 +7621,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "" @@ -7642,11 +7653,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7715,7 +7726,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "" @@ -7784,178 +7795,182 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "" @@ -8098,12 +8113,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "" @@ -8132,11 +8147,11 @@ msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "" @@ -8144,21 +8159,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "" @@ -8170,7 +8185,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8178,11 +8193,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "" @@ -8370,61 +8385,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "" @@ -8482,78 +8497,78 @@ msgstr "" msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "" @@ -8763,209 +8778,209 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "" @@ -9227,7 +9242,7 @@ msgstr "" msgid "Single Price Difference" msgstr "" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po index a7f603ac60..39a5273962 100644 --- a/InvenTree/locale/fa/LC_MESSAGES/django.po +++ b/InvenTree/locale/fa/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-15 23:30+0000\n" -"PO-Revision-Date: 2022-05-16 01:10\n" +"POT-Creation-Date: 2022-05-16 14:52+0000\n" +"PO-Revision-Date: 2022-05-17 01:05\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -17,56 +17,56 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:53 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "Address e API peida nashod" -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "تایید" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "تائید حذف" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "" @@ -75,7 +75,7 @@ msgstr "" msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "" @@ -120,7 +120,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2212 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "" @@ -129,16 +129,16 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:677 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "" @@ -150,10 +150,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 -#: common/models.py:1547 common/models.py:1778 common/models.py:1779 -#: common/models.py:2006 common/models.py:2007 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -192,9 +192,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:43 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -207,19 +207,19 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 @@ -239,56 +239,56 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -431,7 +431,7 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:143 order/models.py:1068 +#: InvenTree/status_codes.py:143 order/models.py:1070 #: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "" @@ -584,42 +584,42 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -629,40 +629,41 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 -#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -673,10 +674,11 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 @@ -689,132 +691,132 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:249 build/serializers.py:794 +#: build/models.py:247 build/serializers.py:791 #: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" -#: build/models.py:253 +#: 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:258 +#: build/models.py:256 msgid "Destination Location" msgstr "" -#: build/models.py:262 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:681 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "" -#: build/models.py:294 order/models.py:134 part/models.py:1009 +#: build/models.py:292 order/models.py:136 part/models.py:1007 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:675 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 #: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 #: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 #: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 @@ -822,62 +824,62 @@ msgstr "" msgid "Notes" msgstr "" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1214 +#: build/models.py:1212 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 @@ -888,18 +890,18 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1589 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -907,13 +909,14 @@ msgstr "" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 @@ -928,87 +931,87 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 @@ -1020,13 +1023,13 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 #: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 @@ -1034,129 +1037,129 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "" @@ -1226,7 +1229,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 @@ -1259,13 +1262,13 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:297 #: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1301,7 +1304,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:990 +#: build/templates/build/detail.html:49 order/models.py:992 #: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1315,7 +1318,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1432,12 +1435,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1503,7 +1506,7 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "" @@ -1527,873 +1530,873 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:401 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:403 +#: common/models.py:400 msgid "Settings value" msgstr "" -#: common/models.py:444 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:464 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:475 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "" -#: common/models.py:524 +#: common/models.py:521 msgid "Key string must be unique" msgstr "" -#: common/models.py:746 +#: common/models.py:743 msgid "No group" msgstr "" -#: common/models.py:788 +#: common/models.py:785 msgid "Restart required" msgstr "" -#: common/models.py:789 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:796 +#: common/models.py:793 msgid "Server Instance Name" msgstr "" -#: common/models.py:798 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:802 +#: common/models.py:799 msgid "Use instance name" msgstr "" -#: common/models.py:803 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:809 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:810 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:816 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "" -#: common/models.py:817 +#: common/models.py:814 msgid "Internal company name" msgstr "" -#: common/models.py:822 +#: common/models.py:819 msgid "Base URL" msgstr "" -#: common/models.py:823 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "" -#: common/models.py:829 +#: common/models.py:826 msgid "Default Currency" msgstr "" -#: common/models.py:830 +#: common/models.py:827 msgid "Default currency" msgstr "" -#: common/models.py:836 +#: common/models.py:833 msgid "Download from URL" msgstr "" -#: common/models.py:837 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:844 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:850 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:851 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:857 +#: common/models.py:854 msgid "IPN Regex" msgstr "" -#: common/models.py:858 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:869 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:870 +#: common/models.py:867 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:876 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:877 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:884 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:891 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:897 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:898 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:904 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:905 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "" -#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:912 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:918 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:919 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:925 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "" -#: common/models.py:926 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:932 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:933 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "" -#: common/models.py:939 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:940 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:946 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:947 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:953 +#: common/models.py:950 msgid "Show Import in Views" msgstr "" -#: common/models.py:954 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:960 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "" -#: common/models.py:961 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "" -#: common/models.py:972 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "" -#: common/models.py:973 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:984 +#: common/models.py:981 msgid "Show Price History" msgstr "" -#: common/models.py:985 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:991 +#: common/models.py:988 msgid "Show related parts" msgstr "" -#: common/models.py:992 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "" -#: common/models.py:998 +#: common/models.py:995 msgid "Create initial stock" msgstr "" -#: common/models.py:999 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1005 +#: common/models.py:1002 msgid "Internal Prices" msgstr "" -#: common/models.py:1006 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1012 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1013 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1019 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1020 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "" -#: common/models.py:1027 +#: common/models.py:1024 msgid "Enable Reports" msgstr "" -#: common/models.py:1028 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1034 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1035 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1041 +#: common/models.py:1038 msgid "Page Size" msgstr "" -#: common/models.py:1042 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:1049 msgid "Test Reports" msgstr "" -#: common/models.py:1053 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1059 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "" -#: common/models.py:1060 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1065 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "" -#: common/models.py:1066 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1072 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1073 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1079 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1080 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1082 +#: common/models.py:1079 msgid "days" msgstr "" -#: common/models.py:1087 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1088 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1094 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1095 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1101 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1102 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1107 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1108 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1112 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1113 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1118 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1129 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1136 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1143 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1157 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1164 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1171 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1210 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1226 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1539 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1287 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1322 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1336 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1343 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1350 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1357 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1398 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1405 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1412 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1419 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1426 msgid "Search Categories" msgstr "" -#: common/models.py:1430 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1433 msgid "Search Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1440 msgid "Search Locations" msgstr "" -#: common/models.py:1444 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1447 msgid "Search Companies" msgstr "" -#: common/models.py:1451 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1458 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1465 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "" -#: common/models.py:1472 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1479 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1486 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1492 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1493 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1499 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1500 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1506 +#: common/models.py:1503 msgid "Date Format" msgstr "" -#: common/models.py:1507 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1521 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1522 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1590 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "" -#: common/models.py:1597 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1598 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1755 common/models.py:1892 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "" -#: common/models.py:1756 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1765 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "" -#: common/models.py:1770 part/models.py:988 plugin/models.py:49 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2401,216 +2404,216 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "" -#: common/models.py:1785 +#: common/models.py:1782 msgid "Token" msgstr "" -#: common/models.py:1786 +#: common/models.py:1783 msgid "Token for access" msgstr "" -#: common/models.py:1793 +#: common/models.py:1790 msgid "Secret" msgstr "" -#: common/models.py:1794 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1859 +#: common/models.py:1856 msgid "Message ID" msgstr "" -#: common/models.py:1860 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1868 +#: common/models.py:1865 msgid "Host" msgstr "" -#: common/models.py:1869 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1876 +#: common/models.py:1873 msgid "Header" msgstr "" -#: common/models.py:1877 +#: common/models.py:1874 msgid "Header of this message" msgstr "" -#: common/models.py:1883 +#: common/models.py:1880 msgid "Body" msgstr "" -#: common/models.py:1884 +#: common/models.py:1881 msgid "Body of this message" msgstr "" -#: common/models.py:1893 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1898 +#: common/models.py:1895 msgid "Worked on" msgstr "" -#: common/models.py:1899 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:619 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2618,11 +2621,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 @@ -2630,59 +2633,59 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2205 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 @@ -2690,66 +2693,66 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:97 +#: company/models.py:545 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:643 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "" @@ -2804,10 +2807,10 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:662 -#: stock/models.py:663 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 @@ -2956,7 +2959,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2989,7 +2992,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3004,8 +3007,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "" @@ -3028,7 +3031,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "" @@ -3057,8 +3060,8 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:627 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3084,12 +3087,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "" @@ -3143,11 +3146,11 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3171,54 +3174,54 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3226,486 +3229,486 @@ msgstr "" msgid "No valid objects provided to template" msgstr "" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:258 +#: label/models.py:255 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:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:256 order/templates/order/order_base.html:124 +#: order/models.py:258 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1155 +#: order/models.py:617 order/models.py:1157 #: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 #: templates/js/translated/order.js:2718 msgid "Order" msgstr "" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 +#: stock/templates/stock/item_base.html:342 #: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "" -#: order/models.py:976 order/templates/order/order_base.html:169 +#: order/models.py:978 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "" @@ -3825,7 +3828,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 @@ -3943,7 +3946,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "" @@ -3951,73 +3954,73 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "" -#: part/api.py:1037 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1041 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1056 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" @@ -4037,46 +4040,46 @@ msgstr "" msgid "On Order" msgstr "" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4087,65 +4090,65 @@ msgstr "" msgid "Parts" msgstr "" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4154,352 +4157,352 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "" @@ -4668,7 +4671,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "" @@ -4816,7 +4819,7 @@ msgstr "" msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "" @@ -4868,46 +4871,38 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4969,20 +4964,20 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "" @@ -4991,8 +4986,8 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "" @@ -5080,7 +5075,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "" @@ -5099,7 +5094,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "" @@ -5138,7 +5133,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "" @@ -5257,7 +5252,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "" @@ -5367,80 +5362,80 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "" @@ -5518,35 +5513,43 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:29 +#: plugin/models.py:36 +msgid "Plugin Metadata" +msgstr "" + +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" +msgstr "" + +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:92 msgid "Key" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "" -#: plugin/models.py:44 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:50 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:123 +#: plugin/models.py:180 msgid "Plugin" msgstr "" -#: plugin/models.py:197 +#: plugin/models.py:254 msgid "Method" msgstr "" @@ -5590,35 +5593,35 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "" @@ -5627,87 +5630,87 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "" @@ -5724,7 +5727,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:667 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 @@ -5738,12 +5741,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2193 +#: stock/models.py:2190 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2199 +#: stock/models.py:2196 msgid "Result" msgstr "" @@ -5773,362 +5776,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:762 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:763 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:568 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:611 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:620 +#: stock/models.py:617 msgid "Base part" msgstr "" -#: stock/models.py:628 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:634 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:637 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:644 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:650 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "" -#: stock/models.py:653 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:669 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "" -#: stock/models.py:683 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:688 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "" -#: stock/models.py:697 +#: stock/models.py:694 msgid "Source Build" msgstr "" -#: stock/models.py:699 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "" -#: stock/models.py:710 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:713 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:719 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:725 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:726 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:749 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:790 +#: stock/models.py:787 msgid "Converted to part" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1322 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1325 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1428 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1612 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2113 +#: stock/models.py:2110 msgid "Entry notes" msgstr "" -#: stock/models.py:2170 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2176 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2194 +#: stock/models.py:2191 msgid "Test name" msgstr "" -#: stock/models.py:2200 +#: stock/models.py:2197 msgid "Test result" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2203 msgid "Test output value" msgstr "" -#: stock/models.py:2213 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "" -#: stock/models.py:2219 +#: stock/models.py:2216 msgid "Test notes" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "" @@ -6153,7 +6156,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" @@ -6177,194 +6180,198 @@ msgstr "" msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 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:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -6385,54 +6392,58 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6485,7 +6496,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "" @@ -6510,55 +6521,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "" @@ -6827,7 +6838,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" @@ -7276,9 +7287,9 @@ msgid "InvenTree Version Information" msgstr "" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7518,15 +7529,15 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "" @@ -7548,13 +7559,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7590,11 +7601,11 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "" @@ -7606,27 +7617,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "" @@ -7638,11 +7649,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7711,7 +7722,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "" @@ -7780,178 +7791,182 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "" @@ -8366,61 +8381,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "" @@ -8478,78 +8493,78 @@ msgstr "" msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "" @@ -9223,7 +9238,7 @@ msgstr "" msgid "Single Price Difference" msgstr "" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index 0ba61d7e15..9dce24cea8 100644 --- a/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-15 23:30+0000\n" -"PO-Revision-Date: 2022-05-16 01:09\n" +"POT-Creation-Date: 2022-05-16 14:52+0000\n" +"PO-Revision-Date: 2022-05-17 01:05\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -17,56 +17,56 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:53 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "Point de terminaison de l'API introuvable" -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "Entrer la date" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "Confirmer" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "Confirmer la suppression" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "Confirmer la suppression de cet élément" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "Entrer le mot de passe" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "Entrer le nouveau mot de passe" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "Confirmez le mot de passe" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "Confirmer le nouveau mot de passe" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "Sélectionnez une catégorie" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "Email (encore)" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "Confirmation de l'adresse email" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "Vous devez taper le même e-mail à chaque fois." @@ -75,7 +75,7 @@ msgstr "Vous devez taper le même e-mail à chaque fois." msgid "Duplicate serial: {sn}" msgstr "Dupliquer le numéro : {sn}" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" @@ -120,7 +120,7 @@ msgstr "Fichier manquant" msgid "Missing external link" msgstr "Lien externe manquant" -#: InvenTree/models.py:197 stock/models.py:2212 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "Pièce jointe" @@ -129,16 +129,16 @@ msgstr "Pièce jointe" msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "Lien" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:677 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "Lien vers une url externe" @@ -150,10 +150,10 @@ msgstr "Commentaire" msgid "File comment" msgstr "Commentaire du fichier" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 -#: common/models.py:1547 common/models.py:1778 common/models.py:1779 -#: common/models.py:2006 common/models.py:2007 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -192,9 +192,9 @@ msgstr "Erreur lors du renommage du fichier" msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:43 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -207,19 +207,19 @@ msgstr "Choix invalide" msgid "Name" msgstr "Nom" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 @@ -239,56 +239,56 @@ msgstr "Description (facultative)" msgid "parent" msgstr "parent" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "Doit être un nombre valide" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "Nom du fichier" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "Valeur non valide" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "Fichier de données" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "Sélectionnez le fichier de données à envoyer" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "Format de fichier non supporté" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "Fichier trop volumineux" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "Pas de colonnes trouvées dans le fichier" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "Par de lignes de données trouvées dans le fichier" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "Pas de lignes de données fournies" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "Pas de colonne de données fournie" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Colonne requise manquante : {name}" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Colonne duliquée : '{col}'" @@ -431,7 +431,7 @@ msgstr "Perdu" msgid "Returned" msgstr "Retourné" -#: InvenTree/status_codes.py:143 order/models.py:1068 +#: InvenTree/status_codes.py:143 order/models.py:1070 #: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "Expédié" @@ -584,42 +584,42 @@ msgstr "Le surplus ne doit pas dépasser 100%" msgid "Invalid value for overage" msgstr "Valeur invalide pour le dépassement" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "Supprimer cet élément" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "Cochez la case pour confirmer la suppression de l'élément" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Modifier les informations utilisateur" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Définir le mot de passe" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "Les mots de passe doivent correspondre" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "Informations système" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "Choix invalide pour la fabrication parente" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "Ordre de Fabrication" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -629,40 +629,41 @@ msgstr "Ordre de Fabrication" msgid "Build Orders" msgstr "Ordres de Fabrication" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "Référence de l' Ordre de Fabrication" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 -#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "Référence" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "Brève description de la fabrication" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Fabrication parente" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder associé a cette fabrication" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -673,10 +674,11 @@ msgstr "BuildOrder associé a cette fabrication" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 @@ -689,132 +691,132 @@ msgstr "BuildOrder associé a cette fabrication" msgid "Part" msgstr "Pièce" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "Sélectionnez la pièce à construire" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "Bon de commande de référence" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "Commande de vente à laquelle cette construction est allouée" -#: build/models.py:249 build/serializers.py:794 +#: build/models.py:247 build/serializers.py:791 #: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "Emplacement d'origine" -#: build/models.py:253 +#: build/models.py:251 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Sélectionner l'emplacement à partir duquel le stock doit être pris pour cette construction (laisser vide pour prendre à partir de n'importe quel emplacement de stock)" -#: build/models.py:258 +#: build/models.py:256 msgid "Destination Location" msgstr "Emplacement cible" -#: build/models.py:262 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "Sélectionnez l'emplacement où les éléments complétés seront stockés" -#: build/models.py:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "Quantité a fabriquer" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "Nombre de stock items à construire" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "Articles terminés" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "Nombre d'articles de stock qui ont été terminés" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "État de la construction" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "Code de statut de construction" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:681 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "Code de lot" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" -#: build/models.py:294 order/models.py:134 part/models.py:1009 +#: build/models.py:292 order/models.py:136 part/models.py:1007 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "Date de création" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "Date d'achèvement cible" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Date cible pour l'achèvement de la construction. La construction sera en retard après cette date." -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "Date d'achèvement" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "achevé par" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "Émis par" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "Utilisateur ayant émis cette commande de construction" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "Responsable" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "Utilisateur responsable de cette commande de construction" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:675 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "Lien Externe" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 #: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 #: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 #: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 @@ -822,62 +824,62 @@ msgstr "Lien Externe" msgid "Notes" msgstr "Notes" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "Notes de construction supplémentaires" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "Pas d'ordre de production défini" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "L'ordre de production a déjà été réalisé" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "L'ordre de production de correspond pas à l'ordre de commande" -#: build/models.py:1214 +#: build/models.py:1212 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:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantité allouée ({q}) ne doit pas excéder la quantité disponible ({a})" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "La quantité doit être de 1 pour stock sérialisé" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "L'article du stock sélectionné n'a pas été trouvé dans la BOM" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "Assemblage" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "Construction à laquelle allouer des pièces" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 @@ -888,18 +890,18 @@ msgstr "Construction à laquelle allouer des pièces" msgid "Stock Item" msgstr "Article en stock" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "Stock d'origine de l'article" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1589 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -907,13 +909,14 @@ msgstr "Stock d'origine de l'article" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 @@ -928,87 +931,87 @@ msgstr "Stock d'origine de l'article" msgid "Quantity" msgstr "Quantité" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "Quantité de stock à allouer à la construction" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "Installer dans" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "Stock de destination de l'article" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "Sortie d'assemblage" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "L'ordre de production ne correspond pas à l'ordre parent" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "La pièce en sortie ne correspond pas à la pièce de l'ordre de construction" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "Cet ordre de production a déjà été produit" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "Cet ordre de production n'est pas complètement attribué" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "Entrer la quantité désiré pour la fabrication" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "Quantité entière requise pour les pièces à suivre" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Quantité entière requise, car la facture de matériaux contient des pièces à puce" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "Numéros de série" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "Entrer les numéros de séries pour la fabrication" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "Allouer automatiquement les numéros de série" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "Affecter automatiquement les éléments requis avec les numéros de série correspondants" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "Le numéro de série suivant existe déjà" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "Une liste d'ordre de production doit être fourni" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 @@ -1020,13 +1023,13 @@ msgstr "Une liste d'ordre de production doit être fourni" msgid "Location" msgstr "Emplacement" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "Emplacement des ordres de production achevés" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 #: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 @@ -1034,129 +1037,129 @@ msgstr "Emplacement des ordres de production achevés" msgid "Status" msgstr "État" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "Accepter l'allocation incomplète" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "Compléter les sorties si le stock n'a pas été entièrement alloué" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "Accepter les non-alloués" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accepter les articles de stock qui n'ont pas été complètement alloués à cette ordre de production" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "Le stock requis n'a pas encore été totalement alloué" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "Accepter les incomplèts" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "Accepter que tous les ordres de production n'aient pas encore été achevés" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "La quantité nécessaire n'a pas encore été complétée" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "L'ordre de production a des sorties incomplètes" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "Aucune sortie de construction n'a été créée pour cet ordre de construction" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "Sortie d'assemblage" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "L'article doit être en stock" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantité disponible ({q}) dépassée" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "Emplacements exclus" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "" @@ -1226,7 +1229,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Le stock n'a pas été entièrement alloué à cet ordre de construction" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 @@ -1259,13 +1262,13 @@ msgid "Completed" msgstr "Terminé" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:297 #: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "Commandes" @@ -1301,7 +1304,7 @@ msgstr "Stock d'origine" msgid "Stock can be taken from any available location." msgstr "Le stock peut être pris à partir de n'importe quel endroit disponible." -#: build/templates/build/detail.html:49 order/models.py:990 +#: build/templates/build/detail.html:49 order/models.py:992 #: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "Destination" @@ -1315,7 +1318,7 @@ msgid "Allocated Parts" msgstr "Pièces allouées" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1432,12 +1435,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "Actions d'impression" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1503,7 +1506,7 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "Supprimer l'ordre de construction" @@ -1527,873 +1530,873 @@ msgstr "Erreur de lecture du fichier (dimension incorrecte)" msgid "Error reading file (data could be corrupted)" msgstr "Erreur de lecture du fichier (les données pourraient être corrompues)" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "Fichier" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "Sélectionner un fichier à téléverser" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "{name.title()} Fichier" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "Sélectionner le fichier {name} à uploader" -#: common/models.py:401 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:403 +#: common/models.py:400 msgid "Settings value" msgstr "Valeur du paramètre" -#: common/models.py:444 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "La valeur choisie n'est pas une option valide" -#: common/models.py:464 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "La valeur doit être une valeur booléenne" -#: common/models.py:475 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "La valeur doit être un nombre entier" -#: common/models.py:524 +#: common/models.py:521 msgid "Key string must be unique" msgstr "La chaîne de caractères constituant la clé doit être unique" -#: common/models.py:746 +#: common/models.py:743 msgid "No group" msgstr "Pas de groupe" -#: common/models.py:788 +#: common/models.py:785 msgid "Restart required" msgstr "Redémarrage nécessaire" -#: common/models.py:789 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "Un paramètre a été modifié, ce qui nécessite un redémarrage du serveur" -#: common/models.py:796 +#: common/models.py:793 msgid "Server Instance Name" msgstr "" -#: common/models.py:798 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "Chaîne de caractères descriptive pour l'instance serveur" -#: common/models.py:802 +#: common/models.py:799 msgid "Use instance name" msgstr "Utiliser le nom de l'instance" -#: common/models.py:803 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "Utiliser le nom de l’instance dans la barre de titre" -#: common/models.py:809 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:810 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:816 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "Nom de la société" -#: common/models.py:817 +#: common/models.py:814 msgid "Internal company name" msgstr "Nom de société interne" -#: common/models.py:822 +#: common/models.py:819 msgid "Base URL" msgstr "URL de base" -#: common/models.py:823 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "URL de base pour l'instance serveur" -#: common/models.py:829 +#: common/models.py:826 msgid "Default Currency" msgstr "Devise par défaut" -#: common/models.py:830 +#: common/models.py:827 msgid "Default currency" msgstr "Devises par défaut" -#: common/models.py:836 +#: common/models.py:833 msgid "Download from URL" msgstr "Télécharger depuis l'URL" -#: common/models.py:837 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "Autoriser le téléchargement d'images distantes et de fichiers à partir d'URLs externes" -#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Support des code-barres" -#: common/models.py:844 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "Activer le support du scanner de code-barres" -#: common/models.py:850 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:851 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:857 +#: common/models.py:854 msgid "IPN Regex" msgstr "Regex IPN" -#: common/models.py:858 +#: common/models.py:855 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:862 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "Autoriser les IPN dupliqués" -#: common/models.py:863 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "Permettre à plusieurs pièces de partager le même IPN" -#: common/models.py:869 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "Autoriser l'édition de l'IPN" -#: common/models.py:870 +#: common/models.py:867 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:876 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:877 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "Copier les données des paramètres de la pièce" -#: common/models.py:884 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "Copier les données des paramètres par défaut lors de la duplication d'une pièce" -#: common/models.py:890 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "Copier les données de test de la pièce" -#: common/models.py:891 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "Copier les données de test par défaut lors de la duplication d'une pièce" -#: common/models.py:897 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "Copier les templates de paramètres de catégorie" -#: common/models.py:898 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "Copier les templates de paramètres de la catégorie lors de la création d'une pièce" -#: common/models.py:904 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:905 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "Les pièces sont des templates par défaut" -#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:912 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "Les composantes peuvent être assemblées à partir d'autres composants par défaut" -#: common/models.py:918 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Composant" -#: common/models.py:919 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "Les composantes peuvent être utilisées comme sous-composants par défaut" -#: common/models.py:925 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "Achetable" -#: common/models.py:926 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/models.py:932 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Vendable" -#: common/models.py:933 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "Les pièces sont vendables par défaut" -#: common/models.py:939 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Traçable" -#: common/models.py:940 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "Les pièces sont traçables par défaut" -#: common/models.py:946 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:947 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "Les pièces sont virtuelles par défaut" -#: common/models.py:953 +#: common/models.py:950 msgid "Show Import in Views" msgstr "Afficher l'import dans les vues" -#: common/models.py:954 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "Afficher l'assistant d'importation pour certaine vues de produits" -#: common/models.py:960 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "Afficher le prix dans les formulaires" -#: common/models.py:961 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "Afficher le prix de la pièce dans certains formulaires" -#: common/models.py:972 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "Afficher le prix dans la BOM" -#: common/models.py:973 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "Inclure les informations de prix dans les tableaux de la BOM" -#: common/models.py:984 +#: common/models.py:981 msgid "Show Price History" msgstr "Historique des prix" -#: common/models.py:985 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:991 +#: common/models.py:988 msgid "Show related parts" msgstr "Afficher les pièces connexes" -#: common/models.py:992 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "Afficher les pièces connexes à une pièce" -#: common/models.py:998 +#: common/models.py:995 msgid "Create initial stock" msgstr "Créer un stock initial" -#: common/models.py:999 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "Créer le stock initial lors de la création d'une pièce" -#: common/models.py:1005 +#: common/models.py:1002 msgid "Internal Prices" msgstr "Prix internes" -#: common/models.py:1006 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "Activer les prix internes pour les pièces" -#: common/models.py:1012 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1013 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1019 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1020 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "" -#: common/models.py:1027 +#: common/models.py:1024 msgid "Enable Reports" msgstr "" -#: common/models.py:1028 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1034 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1035 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1041 +#: common/models.py:1038 msgid "Page Size" msgstr "Taille de la page" -#: common/models.py:1042 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:1049 msgid "Test Reports" msgstr "Rapports de test" -#: common/models.py:1053 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1059 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "" -#: common/models.py:1060 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1065 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "" -#: common/models.py:1066 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1072 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1073 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1079 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1080 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1082 +#: common/models.py:1079 msgid "days" msgstr "jours" -#: common/models.py:1087 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1088 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1094 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1095 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1101 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1102 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1107 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1108 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1112 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1113 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "Valeur préfixe référence commande client" -#: common/models.py:1118 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "Préfixe des commandes d'achats" -#: common/models.py:1119 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "Valeur préfixe référence bon de commande" -#: common/models.py:1125 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "Activer les mots de passe oubliés" -#: common/models.py:1126 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1129 msgid "Enable registration" msgstr "Activer les inscriptions" -#: common/models.py:1133 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1136 msgid "Enable SSO" msgstr "Activer le SSO" -#: common/models.py:1140 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "Activer le SSO sur les pages de connexion" -#: common/models.py:1146 +#: common/models.py:1143 msgid "Email required" msgstr "Email requis" -#: common/models.py:1147 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "Saisie automatique des utilisateurs SSO" -#: common/models.py:1154 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1157 msgid "Mail twice" msgstr "Courriel en double" -#: common/models.py:1161 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1164 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1171 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1210 msgid "Enable app integration" msgstr "Activer l'intégration de plugins" -#: common/models.py:1214 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "Activer l'intégration de plugin pour ajouter des apps" -#: common/models.py:1221 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1226 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1539 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:1276 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1287 msgid "Show latest parts" msgstr "Afficher les dernières pièces" -#: common/models.py:1291 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "Afficher les dernières modifications du stock" -#: common/models.py:1312 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1322 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1336 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1343 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1350 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1357 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1398 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1405 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1412 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1419 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1426 msgid "Search Categories" msgstr "" -#: common/models.py:1430 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1433 msgid "Search Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1440 msgid "Search Locations" msgstr "" -#: common/models.py:1444 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1447 msgid "Search Companies" msgstr "" -#: common/models.py:1451 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1458 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1465 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "" -#: common/models.py:1472 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1479 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1486 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1492 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1493 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1499 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1500 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1506 +#: common/models.py:1503 msgid "Date Format" msgstr "" -#: common/models.py:1507 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "Format préféré pour l'affichage des dates" -#: common/models.py:1521 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1522 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1590 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "" -#: common/models.py:1597 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "Prix" -#: common/models.py:1598 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1755 common/models.py:1892 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "" -#: common/models.py:1756 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1765 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "" -#: common/models.py:1770 part/models.py:988 plugin/models.py:49 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2401,216 +2404,216 @@ msgstr "" msgid "Active" msgstr "Actif" -#: common/models.py:1771 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "" -#: common/models.py:1785 +#: common/models.py:1782 msgid "Token" msgstr "" -#: common/models.py:1786 +#: common/models.py:1783 msgid "Token for access" msgstr "" -#: common/models.py:1793 +#: common/models.py:1790 msgid "Secret" msgstr "" -#: common/models.py:1794 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1859 +#: common/models.py:1856 msgid "Message ID" msgstr "" -#: common/models.py:1860 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1868 +#: common/models.py:1865 msgid "Host" msgstr "" -#: common/models.py:1869 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1876 +#: common/models.py:1873 msgid "Header" msgstr "" -#: common/models.py:1877 +#: common/models.py:1874 msgid "Header of this message" msgstr "" -#: common/models.py:1883 +#: common/models.py:1880 msgid "Body" msgstr "" -#: common/models.py:1884 +#: common/models.py:1881 msgid "Body of this message" msgstr "" -#: common/models.py:1893 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1898 +#: common/models.py:1895 msgid "Worked on" msgstr "" -#: common/models.py:1899 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "Composantes importées" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "Étape précédente" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "URL de l'image" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "E-mail" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "Adresse e-mail de contact" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "Point de contact" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "Lien externe vers les informations de l'entreprise" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "est client" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "Vendez-vous des objets à cette entreprise?" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "est fournisseur" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "Est-ce que vous achetez des articles à cette entreprise?" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "est fabricant" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "Cette entreprise fabrique-t-elle des pièces?" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "Devise" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:619 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2618,11 +2621,11 @@ msgstr "" msgid "Manufacturer" msgstr "Fabricant" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "Sélectionner un fabricant" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 @@ -2630,59 +2633,59 @@ msgstr "Sélectionner un fabricant" msgid "MPN" msgstr "" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2205 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "Valeur" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 @@ -2690,66 +2693,66 @@ msgstr "" msgid "Supplier" msgstr "Fournisseur" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:97 +#: company/models.py:545 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "coût de base" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:643 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "Commande multiple" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "" @@ -2804,10 +2807,10 @@ msgstr "Ajouter une nouvelle image" msgid "Download image from URL" msgstr "Télécharger l'image depuis l'URL" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:662 -#: stock/models.py:663 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 @@ -2956,7 +2959,7 @@ msgstr "" msgid "Supplier List" msgstr "Liste des Fournisseurs" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2989,7 +2992,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3004,8 +3007,8 @@ msgstr "Supprimer les pièces du fournisseur" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "Supprimer" @@ -3028,7 +3031,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "" @@ -3057,8 +3060,8 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:627 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3084,12 +3087,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "" @@ -3143,11 +3146,11 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3171,54 +3174,54 @@ msgstr "Tarif" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "Éléments en stock" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "Nouveau Fournisseur" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "Nouveau Fabricant" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "Clients" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "Nouveaux Clients" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "Entreprises" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "Nouvelle Entreprise" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3226,486 +3229,486 @@ msgstr "" msgid "No valid objects provided to template" msgstr "Aucun objet valide n'a été fourni au modèle" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "Activé" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "Hauteur [mm]" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:258 +#: label/models.py:255 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:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "Filtres" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "Description de la commande" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "Lien vers une page externe" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "Créé par" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "Notes de commande" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:256 order/templates/order/order_base.html:124 +#: order/models.py:258 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1155 +#: order/models.py:617 order/models.py:1157 #: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "Nom de l’expédition" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "expédié par" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "La commande ne peut pas être terminée car aucune pièce n'a été assignée" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "Seule une commande en attente peut être marquée comme terminée" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "La commande ne peut pas être terminée car il y a des envois incomplets" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "Nombre d'élement" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "Contexte" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 #: templates/js/translated/order.js:2718 msgid "Order" msgstr "Commande" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 +#: stock/templates/stock/item_base.html:342 #: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "Commande d’achat" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "Pièce fournisseur" -#: order/models.py:976 order/templates/order/order_base.html:169 +#: order/models.py:978 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "Reçu" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "Prix d'achat" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "Prix de vente" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "Ligne" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "Envoi" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "Article" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "Devise *" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "La commande ne peut pas être annulée" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "La commande n'est pas ouverte" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "Devise du prix d'achat" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "Entrez les numéros de série pour les articles de stock entrants" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "Champ d'identifiant unique" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "Le code-barres est déjà utilisé" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "Une quantité entière doit être fournie pour les pièces tracables" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "Entrez les numéros de série à allouer" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "Aucune correspondance trouvée pour les numéros de série suivants" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "Les numéros de série suivants sont déjà alloués" @@ -3825,7 +3828,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 @@ -3943,7 +3946,7 @@ msgid "Pending Shipments" msgstr "Expéditions en attente" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "" @@ -3951,73 +3954,73 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "Prix introuvable" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "" -#: part/api.py:1037 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1041 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1056 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" @@ -4037,46 +4040,46 @@ msgstr "" msgid "On Order" msgstr "En Commande" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Catégorie de composant" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "Catégories de composants" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4087,65 +4090,65 @@ msgstr "Catégories de composants" msgid "Parts" msgstr "Composantes" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "Les prochains numéros de série disponibles sont" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "Le prochain numéro de série disponible est" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "Le numéro de série le plus récent est" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "Description du composant" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4154,352 +4157,352 @@ msgstr "" msgid "Category" msgstr "Catégorie" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "Catégorie de la pièce" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "Révision" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "Ventes multiples" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "Requis" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "Données" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "ID de composant" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Surplus" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "Devise d'achat de l'item" @@ -4668,7 +4671,7 @@ msgstr "Composantes (incluant sous-catégories)" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "" @@ -4816,7 +4819,7 @@ msgstr "" msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "" @@ -4868,46 +4871,38 @@ msgstr "Fabricants de composants" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4969,20 +4964,20 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "Impression étiquette" @@ -4991,8 +4986,8 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "" @@ -5080,7 +5075,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "" @@ -5099,7 +5094,7 @@ msgid "Latest Serial Number" msgstr "Dernier numéro de série" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "Rechercher un numéro de série" @@ -5138,7 +5133,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "" @@ -5257,7 +5252,7 @@ msgstr "Afficher le prix de vente" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "" @@ -5367,80 +5362,80 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "Aucun" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "" @@ -5518,35 +5513,43 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:29 +#: plugin/models.py:36 +msgid "Plugin Metadata" +msgstr "" + +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" +msgstr "" + +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:92 msgid "Key" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "" -#: plugin/models.py:44 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "Non du Plugin" -#: plugin/models.py:50 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:123 +#: plugin/models.py:180 msgid "Plugin" msgstr "" -#: plugin/models.py:197 +#: plugin/models.py:254 msgid "Method" msgstr "" @@ -5590,35 +5593,35 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "" @@ -5627,87 +5630,87 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "Nom du modèle" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "Filtres de composants" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "Extrait " -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "Elément" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "" @@ -5724,7 +5727,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:667 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 @@ -5738,12 +5741,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2193 +#: stock/models.py:2190 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2199 +#: stock/models.py:2196 msgid "Result" msgstr "Résultat" @@ -5773,362 +5776,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:762 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "Propriétaire" -#: stock/models.py:95 stock/models.py:763 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "Sélectionner un propriétaire" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "Il existe déjà un article en stock avec ce numéro de série" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "La quantité doit être de 1 pour un article avec un numéro de série" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Le numéro de série ne peut pas être défini si la quantité est supérieure à 1" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:568 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:611 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:620 +#: stock/models.py:617 msgid "Base part" msgstr "" -#: stock/models.py:628 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:634 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:637 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:644 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:650 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "" -#: stock/models.py:653 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:669 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "Numéro de série pour cet article" -#: stock/models.py:683 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:688 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "" -#: stock/models.py:697 +#: stock/models.py:694 msgid "Source Build" msgstr "" -#: stock/models.py:699 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "" -#: stock/models.py:710 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:713 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:719 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:725 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:726 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:749 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:790 +#: stock/models.py:787 msgid "Converted to part" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1322 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1325 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "Les numéros de série doivent être une liste de nombres entiers" -#: stock/models.py:1328 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "La quantité ne correspond pas au nombre de numéros de série" -#: stock/models.py:1335 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Les numéros de série existent déja : {exists}" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1428 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1612 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2113 +#: stock/models.py:2110 msgid "Entry notes" msgstr "" -#: stock/models.py:2170 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2176 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2194 +#: stock/models.py:2191 msgid "Test name" msgstr "" -#: stock/models.py:2200 +#: stock/models.py:2197 msgid "Test result" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2203 msgid "Test output value" msgstr "" -#: stock/models.py:2213 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "" -#: stock/models.py:2219 +#: stock/models.py:2216 msgid "Test notes" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "Entrez le nombre d'articles en stock à sérialiser" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "Entrez les numéros de série pour les nouveaux articles" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "Les numéros de série ne peuvent pas être assignés à cette pièce" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "Les numéros de série existent déjà" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "" @@ -6153,7 +6156,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" @@ -6177,194 +6180,198 @@ msgstr "" msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "page précédente" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "Accéder au numéro de série précédent" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "Accéder au numéro de série suivant" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "Cet article de stock est sérialisé - il a un numéro de série unique et la quantité ne peut pas être ajustée." -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -6385,54 +6392,58 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "Sélectionner la quantité à sérialiser et les numéros de série uniques." -#: stock/templates/stock/location.html:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6485,7 +6496,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "" @@ -6510,55 +6521,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "Cocher la case de confirmation" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "" @@ -6827,7 +6838,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" @@ -7276,9 +7287,9 @@ msgid "InvenTree Version Information" msgstr "" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7518,15 +7529,15 @@ msgstr "Ajouter un lien" msgid "Add Attachment" msgstr "Ajouter une pièce jointe" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "Redémarrage du serveur nécessaire" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "Une option de configuration a été modifiée, ce qui nécessite un redémarrage du serveur" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "Contactez votre administrateur système pour plus d'informations" @@ -7548,13 +7559,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "Quantité requise" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7590,11 +7601,11 @@ msgstr "Le serveur distant doit être accessible" msgid "Remote image must not exceed maximum allowable file size" msgstr "L'image distante ne doit pas excéder la taille maximale autorisée de fichier" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "Aucune réponse" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "Aucune réponse du serveur InvenTree" @@ -7606,27 +7617,27 @@ msgstr "Erreur 400: Mauvaise requête" msgid "API request returned error code 400" msgstr "La requête de l'API a retourné le code d'erreur 400" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "Erreur 401: non authentifié" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "Informations d’authentification non fournies" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "Erreur 403: Permission refusée" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 msgid "You do not have the required permissions to access this function" msgstr "Vous n'avez pas les autorisations requises pour accéder à cette fonction" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "Erreur 404: Ressource introuvable" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "La ressource demandée n'a pas pu être trouvée sur le serveur" @@ -7638,11 +7649,11 @@ msgstr "Erreur 405: Méthode non autorisée" msgid "HTTP method not allowed at URL" msgstr "Méthode HTTP non autorisée à l'adresse URL" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "Erreur 408: Délai dépassé" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "Délai de connexion dépassé lors de la demande de données depuis le serveur" @@ -7711,7 +7722,7 @@ msgid "Unknown response from server" msgstr "Réponse inconnue du serveur" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "Réponse du serveur invalide" @@ -7780,178 +7791,182 @@ msgstr "Vérifier dans l'emplacement" msgid "Barcode does not match a valid location" msgstr "Le code-barres ne correspond pas à un emplacement valide" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "Données de la rangée" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "Télécharger le template de la BOM" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "Sélectionner un format de fichier" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "En cascade" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "Télécharger la BOM en cascade / à plusieurs niveaux" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "Niveaux" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "Sélectionner le nombre maximum de niveaux de BOM à exporter (0 = tous les niveaux)" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "Inclure les données de paramètre" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "Inclure les données de paramètre de la pièce dans la BOM exporté" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "Inclure les données de stock" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "" @@ -8366,61 +8381,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "" @@ -8478,78 +8493,78 @@ msgstr "" msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "Sélectionner imprimante" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "Annuler" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "" @@ -9223,7 +9238,7 @@ msgstr "" msgid "Single Price Difference" msgstr "" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "Le plugin a été installé" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index 97f9ef552a..4d97bfc7a1 100644 --- a/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/InvenTree/locale/he/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-15 23:30+0000\n" -"PO-Revision-Date: 2022-05-16 01:10\n" +"POT-Creation-Date: 2022-05-16 14:52+0000\n" +"PO-Revision-Date: 2022-05-17 01:05\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -17,56 +17,56 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:53 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "" -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "הזן תאריך סיום" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "אשר" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "אשר מחיקה" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "אשר מחיקה" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "הכנס סיסמה" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "הכנס סיסמה חדשה" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "אישור סיסמה" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "אשר סיסמה חדשה" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "בחר קטגוריה" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "אימייל (שנית)" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "אישור כתובת אימייל" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "חובה לרשום את אותו אימייל בכל פעם." @@ -75,7 +75,7 @@ msgstr "חובה לרשום את אותו אימייל בכל פעם." msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "" @@ -120,7 +120,7 @@ msgstr "קובץ חסר" msgid "Missing external link" msgstr "חסר קישור חיצוני" -#: InvenTree/models.py:197 stock/models.py:2212 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "קובץ מצורף" @@ -129,16 +129,16 @@ msgstr "קובץ מצורף" msgid "Select file to attach" msgstr "בחר קובץ לצירוף" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "קישור" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:677 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "קישור חיצוני" @@ -150,10 +150,10 @@ msgstr "הערה" msgid "File comment" msgstr "הערת קובץ" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 -#: common/models.py:1547 common/models.py:1778 common/models.py:1779 -#: common/models.py:2006 common/models.py:2007 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -192,9 +192,9 @@ msgstr "שגיאה בשינוי שם פריט" msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:43 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -207,19 +207,19 @@ msgstr "בחירה שגויה" msgid "Name" msgstr "שם" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 @@ -239,56 +239,56 @@ msgstr "תיאור (לא חובה)" msgid "parent" msgstr "מקור" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "שם קובץ" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -431,7 +431,7 @@ msgstr "אבד" msgid "Returned" msgstr "הוחזר" -#: InvenTree/status_codes.py:143 order/models.py:1068 +#: InvenTree/status_codes.py:143 order/models.py:1070 #: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "נשלח" @@ -584,42 +584,42 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "מחק פריט" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "ערוך מידע אודות המשתמש" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "הגדר סיסמא" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "הסיסמאות מוכרחות להיות תואמות" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "מידע אודות המערכת" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -629,40 +629,41 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 -#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "מקט" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "תיאור קצר אודות הבנייה" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "מקור הבנייה" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -673,10 +674,11 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 @@ -689,132 +691,132 @@ msgstr "" msgid "Part" msgstr "רכיב" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "בחר רכיב לבנייה" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:249 build/serializers.py:794 +#: build/models.py:247 build/serializers.py:791 #: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" -#: build/models.py:253 +#: 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:258 +#: build/models.py:256 msgid "Destination Location" msgstr "" -#: build/models.py:262 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "כמות בניה" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:681 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "" -#: build/models.py:294 order/models.py:134 part/models.py:1009 +#: build/models.py:292 order/models.py:136 part/models.py:1007 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:675 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 #: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 #: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 #: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 @@ -822,62 +824,62 @@ msgstr "" msgid "Notes" msgstr "" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1214 +#: build/models.py:1212 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 @@ -888,18 +890,18 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1589 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -907,13 +909,14 @@ msgstr "" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 @@ -928,87 +931,87 @@ msgstr "" msgid "Quantity" msgstr "כמות" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "מספרים סידוריים" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 @@ -1020,13 +1023,13 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 #: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 @@ -1034,129 +1037,129 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "" @@ -1226,7 +1229,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 @@ -1259,13 +1262,13 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:297 #: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1301,7 +1304,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:990 +#: build/templates/build/detail.html:49 order/models.py:992 #: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1315,7 +1318,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1432,12 +1435,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1503,7 +1506,7 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "" @@ -1527,873 +1530,873 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:401 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:403 +#: common/models.py:400 msgid "Settings value" msgstr "" -#: common/models.py:444 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:464 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:475 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "" -#: common/models.py:524 +#: common/models.py:521 msgid "Key string must be unique" msgstr "" -#: common/models.py:746 +#: common/models.py:743 msgid "No group" msgstr "" -#: common/models.py:788 +#: common/models.py:785 msgid "Restart required" msgstr "" -#: common/models.py:789 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:796 +#: common/models.py:793 msgid "Server Instance Name" msgstr "" -#: common/models.py:798 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:802 +#: common/models.py:799 msgid "Use instance name" msgstr "" -#: common/models.py:803 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:809 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:810 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:816 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "" -#: common/models.py:817 +#: common/models.py:814 msgid "Internal company name" msgstr "" -#: common/models.py:822 +#: common/models.py:819 msgid "Base URL" msgstr "" -#: common/models.py:823 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "" -#: common/models.py:829 +#: common/models.py:826 msgid "Default Currency" msgstr "" -#: common/models.py:830 +#: common/models.py:827 msgid "Default currency" msgstr "" -#: common/models.py:836 +#: common/models.py:833 msgid "Download from URL" msgstr "" -#: common/models.py:837 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:844 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:850 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:851 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:857 +#: common/models.py:854 msgid "IPN Regex" msgstr "" -#: common/models.py:858 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:869 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:870 +#: common/models.py:867 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:876 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:877 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:884 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:891 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:897 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:898 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:904 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:905 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "" -#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:912 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:918 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:919 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:925 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "" -#: common/models.py:926 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:932 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:933 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "" -#: common/models.py:939 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:940 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:946 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:947 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:953 +#: common/models.py:950 msgid "Show Import in Views" msgstr "" -#: common/models.py:954 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:960 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "" -#: common/models.py:961 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "" -#: common/models.py:972 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "" -#: common/models.py:973 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:984 +#: common/models.py:981 msgid "Show Price History" msgstr "" -#: common/models.py:985 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:991 +#: common/models.py:988 msgid "Show related parts" msgstr "" -#: common/models.py:992 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "" -#: common/models.py:998 +#: common/models.py:995 msgid "Create initial stock" msgstr "" -#: common/models.py:999 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1005 +#: common/models.py:1002 msgid "Internal Prices" msgstr "" -#: common/models.py:1006 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1012 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1013 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1019 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1020 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "" -#: common/models.py:1027 +#: common/models.py:1024 msgid "Enable Reports" msgstr "" -#: common/models.py:1028 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1034 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1035 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1041 +#: common/models.py:1038 msgid "Page Size" msgstr "" -#: common/models.py:1042 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:1049 msgid "Test Reports" msgstr "" -#: common/models.py:1053 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1059 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "" -#: common/models.py:1060 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1065 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "" -#: common/models.py:1066 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1072 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1073 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1079 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1080 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1082 +#: common/models.py:1079 msgid "days" msgstr "" -#: common/models.py:1087 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1088 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1094 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1095 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1101 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1102 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1107 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1108 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1112 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1113 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1118 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1129 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1136 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1143 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1157 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1164 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1171 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1210 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1226 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1539 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1287 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1322 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1336 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1343 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1350 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1357 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1398 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1405 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1412 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1419 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1426 msgid "Search Categories" msgstr "" -#: common/models.py:1430 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1433 msgid "Search Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1440 msgid "Search Locations" msgstr "" -#: common/models.py:1444 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1447 msgid "Search Companies" msgstr "" -#: common/models.py:1451 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1458 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1465 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "" -#: common/models.py:1472 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1479 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1486 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1492 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1493 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1499 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1500 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1506 +#: common/models.py:1503 msgid "Date Format" msgstr "" -#: common/models.py:1507 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1521 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1522 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1590 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "" -#: common/models.py:1597 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1598 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1755 common/models.py:1892 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "" -#: common/models.py:1756 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1765 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "" -#: common/models.py:1770 part/models.py:988 plugin/models.py:49 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2401,216 +2404,216 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "" -#: common/models.py:1785 +#: common/models.py:1782 msgid "Token" msgstr "" -#: common/models.py:1786 +#: common/models.py:1783 msgid "Token for access" msgstr "" -#: common/models.py:1793 +#: common/models.py:1790 msgid "Secret" msgstr "" -#: common/models.py:1794 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1859 +#: common/models.py:1856 msgid "Message ID" msgstr "" -#: common/models.py:1860 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1868 +#: common/models.py:1865 msgid "Host" msgstr "" -#: common/models.py:1869 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1876 +#: common/models.py:1873 msgid "Header" msgstr "" -#: common/models.py:1877 +#: common/models.py:1874 msgid "Header of this message" msgstr "" -#: common/models.py:1883 +#: common/models.py:1880 msgid "Body" msgstr "" -#: common/models.py:1884 +#: common/models.py:1881 msgid "Body of this message" msgstr "" -#: common/models.py:1893 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1898 +#: common/models.py:1895 msgid "Worked on" msgstr "" -#: common/models.py:1899 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:619 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2618,11 +2621,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 @@ -2630,59 +2633,59 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2205 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 @@ -2690,66 +2693,66 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:97 +#: company/models.py:545 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:643 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "" @@ -2804,10 +2807,10 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:662 -#: stock/models.py:663 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 @@ -2956,7 +2959,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2989,7 +2992,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3004,8 +3007,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "" @@ -3028,7 +3031,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "" @@ -3057,8 +3060,8 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:627 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3084,12 +3087,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "" @@ -3143,11 +3146,11 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3171,54 +3174,54 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3226,486 +3229,486 @@ msgstr "" msgid "No valid objects provided to template" msgstr "" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:258 +#: label/models.py:255 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:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:256 order/templates/order/order_base.html:124 +#: order/models.py:258 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1155 +#: order/models.py:617 order/models.py:1157 #: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 #: templates/js/translated/order.js:2718 msgid "Order" msgstr "" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 +#: stock/templates/stock/item_base.html:342 #: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "" -#: order/models.py:976 order/templates/order/order_base.html:169 +#: order/models.py:978 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "" @@ -3825,7 +3828,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 @@ -3943,7 +3946,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "" @@ -3951,73 +3954,73 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "" -#: part/api.py:1037 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1041 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1056 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" @@ -4037,46 +4040,46 @@ msgstr "" msgid "On Order" msgstr "" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4087,65 +4090,65 @@ msgstr "" msgid "Parts" msgstr "" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4154,352 +4157,352 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "" @@ -4668,7 +4671,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "" @@ -4816,7 +4819,7 @@ msgstr "" msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "" @@ -4868,46 +4871,38 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4969,20 +4964,20 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "" @@ -4991,8 +4986,8 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "" @@ -5080,7 +5075,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "" @@ -5099,7 +5094,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "" @@ -5138,7 +5133,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "" @@ -5257,7 +5252,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "" @@ -5367,80 +5362,80 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "" @@ -5518,35 +5513,43 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:29 +#: plugin/models.py:36 +msgid "Plugin Metadata" +msgstr "" + +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" +msgstr "" + +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:92 msgid "Key" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "" -#: plugin/models.py:44 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:50 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:123 +#: plugin/models.py:180 msgid "Plugin" msgstr "" -#: plugin/models.py:197 +#: plugin/models.py:254 msgid "Method" msgstr "" @@ -5590,35 +5593,35 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "" @@ -5627,87 +5630,87 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "" @@ -5724,7 +5727,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:667 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 @@ -5738,12 +5741,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2193 +#: stock/models.py:2190 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2199 +#: stock/models.py:2196 msgid "Result" msgstr "" @@ -5773,362 +5776,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:762 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:763 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:568 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:611 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:620 +#: stock/models.py:617 msgid "Base part" msgstr "" -#: stock/models.py:628 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:634 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:637 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:644 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:650 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "" -#: stock/models.py:653 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:669 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "" -#: stock/models.py:683 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:688 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "" -#: stock/models.py:697 +#: stock/models.py:694 msgid "Source Build" msgstr "" -#: stock/models.py:699 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "" -#: stock/models.py:710 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:713 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:719 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:725 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:726 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:749 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:790 +#: stock/models.py:787 msgid "Converted to part" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1322 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1325 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1428 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1612 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2113 +#: stock/models.py:2110 msgid "Entry notes" msgstr "" -#: stock/models.py:2170 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2176 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2194 +#: stock/models.py:2191 msgid "Test name" msgstr "" -#: stock/models.py:2200 +#: stock/models.py:2197 msgid "Test result" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2203 msgid "Test output value" msgstr "" -#: stock/models.py:2213 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "" -#: stock/models.py:2219 +#: stock/models.py:2216 msgid "Test notes" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "" @@ -6153,7 +6156,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" @@ -6177,194 +6180,198 @@ msgstr "" msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 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:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -6385,54 +6392,58 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6485,7 +6496,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "" @@ -6510,55 +6521,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "" @@ -6827,7 +6838,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" @@ -7276,9 +7287,9 @@ msgid "InvenTree Version Information" msgstr "" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7518,15 +7529,15 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "" @@ -7548,13 +7559,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7590,11 +7601,11 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "" @@ -7606,27 +7617,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "" @@ -7638,11 +7649,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7711,7 +7722,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "" @@ -7780,178 +7791,182 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "" @@ -8366,61 +8381,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "" @@ -8478,78 +8493,78 @@ msgstr "" msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "" @@ -9223,7 +9238,7 @@ msgstr "" msgid "Single Price Difference" msgstr "" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po index 24f0c16659..9d124ad74b 100644 --- a/InvenTree/locale/hu/LC_MESSAGES/django.po +++ b/InvenTree/locale/hu/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-15 23:30+0000\n" -"PO-Revision-Date: 2022-05-16 01:10\n" +"POT-Creation-Date: 2022-05-16 14:52+0000\n" +"PO-Revision-Date: 2022-05-17 01:05\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -17,56 +17,56 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:53 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "API funkciót nem találom" -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "Dátum megadása" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "Megerősítés" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "Törlés megerősítése" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "Tétel törlés megerősítése" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "Jelszó megadása" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "Új jelszó megadása" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "Jelszó megerősítése" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "Új jelszó megerősítése" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "Válassz kategóriát" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "Email (újra)" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "Email cím megerősítés" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "Mindig ugyanazt az email címet kell beírni." @@ -75,7 +75,7 @@ msgstr "Mindig ugyanazt az email címet kell beírni." msgid "Duplicate serial: {sn}" msgstr "Duplikált sorozatszám: {sn}" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "Nem megfelelő mennyiség" @@ -120,7 +120,7 @@ msgstr "Hiányzó fájl" msgid "Missing external link" msgstr "Hiányzó külső link" -#: InvenTree/models.py:197 stock/models.py:2212 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "Melléklet" @@ -129,16 +129,16 @@ msgstr "Melléklet" msgid "Select file to attach" msgstr "Válaszd ki a mellekelni kívánt fájlt" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "Link" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:677 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "Link külső URL-re" @@ -150,10 +150,10 @@ msgstr "Megjegyzés" msgid "File comment" msgstr "Leírás, bővebb infó" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 -#: common/models.py:1547 common/models.py:1778 common/models.py:1779 -#: common/models.py:2006 common/models.py:2007 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -192,9 +192,9 @@ msgstr "Hiba a fájl átnevezésekor" msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:43 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -207,19 +207,19 @@ msgstr "Érvénytelen választás" msgid "Name" msgstr "Név" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 @@ -239,56 +239,56 @@ msgstr "Leírás (opcionális)" msgid "parent" msgstr "szülő" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "Fájlnév" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "Érvénytelen érték" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "Adat fájl" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "Fájl kiválasztása feltöltéshez" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "Nem támogatott fájltípus" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "Fájl túl nagy" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "Nem találhatók oszlopok a fájlban" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "Nincsenek adatsorok a fájlban" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "Nincs adatsor megadva" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "Nincs adat oszlop megadva" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Szükséges oszlop hiányzik: '{name}'" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikált oszlop: '{col}'" @@ -431,7 +431,7 @@ msgstr "Elveszett" msgid "Returned" msgstr "Visszaküldve" -#: InvenTree/status_codes.py:143 order/models.py:1068 +#: InvenTree/status_codes.py:143 order/models.py:1070 #: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "Kiszállítva" @@ -584,42 +584,42 @@ msgstr "Túlszállítás nem lehet több mint 100%" msgid "Invalid value for overage" msgstr "Érvénytelen érték a túlszállításra" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "Tétel törlése" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "Jelöld a törlés megerősítéséhez" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Felhasználói információ módosítása" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Jelszó beállítása" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "A jelszavaknak egyeznie kell" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "Rendszerinformáció" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "Hibás választás a szülő gyártásra" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "Gyártási utasítás" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -629,40 +629,41 @@ msgstr "Gyártási utasítás" msgid "Build Orders" msgstr "Gyártási utasítások" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "Gyártási utasítás azonosító" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 -#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "Azonosító" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "Gyártás rövid leírása" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Szülő gyártás" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -673,10 +674,11 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 @@ -689,132 +691,132 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" msgid "Part" msgstr "Alkatrész" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "Válassz alkatrészt a gyártáshoz" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "Vevői rendelés azonosító" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "Vevői rendelés amihez ez a gyártás hozzá van rendelve" -#: build/models.py:249 build/serializers.py:794 +#: build/models.py:247 build/serializers.py:791 #: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "Forrás hely" -#: build/models.py:253 +#: build/models.py:251 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Válassz helyet ahonnan készletet vegyünk el ehhez a gyártáshoz (hagyd üresen ha bárhonnan)" -#: build/models.py:258 +#: build/models.py:256 msgid "Destination Location" msgstr "Cél hely" -#: build/models.py:262 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "Válassz helyet ahol a kész tételek tárolva lesznek" -#: build/models.py:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "Gyártási mennyiség" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "Gyártandó készlet tételek száma" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "Kész tételek" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "Elkészült készlet tételek száma" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "Gyártási állapot" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "Gyártás státusz kód" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:681 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "Batch kód" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" -#: build/models.py:294 order/models.py:134 part/models.py:1009 +#: build/models.py:292 order/models.py:136 part/models.py:1007 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "Létrehozás dátuma" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "Befejezés cél dátuma" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Cél dátum a gyártás befejezéséhez. Ez után késettnek számít majd." -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "Elkészítés dátuma" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "elkészítette" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "Kiállította" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "Felhasználó aki ezt a gyártási utasítást kiállította" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "Felelős" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "Felhasználó aki felelős ezért a gyártási utasításért" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:675 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "Külső link" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 #: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 #: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 #: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 @@ -822,62 +824,62 @@ msgstr "Külső link" msgid "Notes" msgstr "Megjegyzések" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "Extra gyártási megjegyzések" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "Nincs gyártási kimenet megadva" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "Gyártási kimenet már kész" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "Gyártási kimenet nem egyezik a gyártási utasítással" -#: build/models.py:1214 +#: build/models.py:1212 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Gyártási tételnek meg kell adnia a gyártási kimenetet, mivel a fő darab egyedi követésre kötelezett" -#: build/models.py:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "A lefoglalt mennyiség ({q}) nem lépheti túl a szabad készletet ({a})" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "Kiválasztott készlet tétel nem található az alkatrészjegyzékben" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "Gyártás" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "Gyártás amihez készletet foglaljunk" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 @@ -888,18 +890,18 @@ msgstr "Gyártás amihez készletet foglaljunk" msgid "Stock Item" msgstr "Készlet tétel" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "Forrás készlet tétel" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1589 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -907,13 +909,14 @@ msgstr "Forrás készlet tétel" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 @@ -928,87 +931,87 @@ msgstr "Forrás készlet tétel" msgid "Quantity" msgstr "Mennyiség" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "Készlet mennyiség amit foglaljunk a gyártáshoz" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "Beépítés ebbe" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "Cél készlet tétel" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "Gyártás kimenet" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "Gyártási kimenet nem egyezik a szülő gyártással" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "Kimeneti alkatrész nem egyezik a gyártási utasításban lévő alkatrésszel" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "Ez a gyártási kimenet már elkészült" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "Ez a gyártási kimenet nincs teljesen lefoglalva" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "Add meg a mennyiséget a gyártás kimenetéhez" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett alkatrészeknél" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Egész számú mennyiség szükséges, mivel az alkatrészjegyzék egyedi követésre kötelezett alkatrészeket tartalmaz" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "Sorozatszámok" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "Add meg a sorozatszámokat a gyártás kimenetéhez" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "Sorozatszámok automatikus hozzárendelése" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "Szükséges tételek automatikus hozzárendelése a megfelelő sorozatszámokkal" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "A következő sorozatszámok már léteznek" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "A gyártási kimenetek listáját meg kell adni" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 @@ -1020,13 +1023,13 @@ msgstr "A gyártási kimenetek listáját meg kell adni" msgid "Location" msgstr "Hely" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "A kész gyártási kimenetek helye" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 #: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 @@ -1034,130 +1037,130 @@ msgstr "A kész gyártási kimenetek helye" msgid "Status" msgstr "Állapot" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "Hiányos foglalás elfogadása" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "Kimenetek befejezése akkor is ha a készlet nem\n" "lett teljesen lefoglalva" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" -msgstr "" +msgstr "Lefoglalt készlet levonása" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" -msgstr "" +msgstr "Az összes lefoglalt tétel levonása a készletről" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" -msgstr "" +msgstr "Befejezetlen kimenetek törlése" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" -msgstr "" +msgstr "A nem befejezett gyártási kimenetek törlése" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "Kiosztatlanok elfogadása" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Fogadd el hogy a készlet tételek nincsenek teljesen lefoglalva ehhez a gyártási utastáshoz" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "A szükséges készlet nem lett teljesen lefoglalva" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "Befejezetlenek elfogadása" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "Fogadd el hogy a szükséges számú gyártási kimenet nem lett elérve" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "Szükséges gyártási mennyiség nem lett elérve" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "Ehhez a gyártási utasításhoz nem készült kimenet" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "Gyártás kimenet" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "A gyártási kimenetnek ugyanarra a gyártásra kell mutatnia" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part ugyanarra az alkatrészre kell mutasson mint a gyártási utasítás" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "A tételnek kell legyen készlete" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Rendelkezésre álló mennyiség ({q}) túllépve" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "Gyártási kimenetet meg kell adni a követésre kötelezett alkatrészek lefoglalásához" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Gyártási kimenetet nem lehet megadni a követésre kötelezett alkatrészek lefoglalásához" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "Ez a készlet tétel már le lett foglalva ehhez a gyártási kimenethez" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "A lefoglalandó tételeket meg kell adni" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Készlet hely ahonnan az alkatrészek származnak (hagyd üresen ha bárhonnan)" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "Hely kizárása" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "Készlet tételek kizárása erről a kiválasztott helyről" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "Felcserélhető készlet" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "A különböző helyeken lévő készlet egyenrangúan felhasználható" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "Készlet helyettesítés" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "Helyettesítő alkatrészek foglalásának engedélyezése" @@ -1227,7 +1230,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "A készlet nem lett teljesen lefoglalva ehhez a gyártási utasításhoz" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 @@ -1260,13 +1263,13 @@ msgid "Completed" msgstr "Kész" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:297 #: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "Vevői rendelés" @@ -1302,7 +1305,7 @@ msgstr "Készlet forrás" msgid "Stock can be taken from any available location." msgstr "Készlet bármely rendelkezésre álló helyről felhasználható." -#: build/templates/build/detail.html:49 order/models.py:990 +#: build/templates/build/detail.html:49 order/models.py:992 #: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "Cél" @@ -1316,7 +1319,7 @@ msgid "Allocated Parts" msgstr "Lefoglalt alkatrészek" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1433,12 +1436,12 @@ msgid "Delete outputs" msgstr "Kimenetek törlése" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "Nyomtatási műveletek" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "Címke nyomtatása" @@ -1504,7 +1507,7 @@ msgstr "Gyártási utasítás részletei" msgid "Completed Outputs" msgstr "Befejezett kimenetek" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "Gyártási utasítás törlése" @@ -1528,873 +1531,873 @@ msgstr "Fájl beolvasási hiba (hibás dimenzió)" msgid "Error reading file (data could be corrupted)" msgstr "Fájl beolvasási hiba (sérült lehet)" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "Fájl" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "Feltöltendő fájl kiválasztása" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "{name.title()} Fájl" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "{name} fájl kiválasztása feltöltéshez" -#: common/models.py:401 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "Beállítások kulcs (egyedinek kell lennie, nem kis- nagybetű érzékeny)" -#: common/models.py:403 +#: common/models.py:400 msgid "Settings value" msgstr "Beállítás értéke" -#: common/models.py:444 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "A kiválasztott érték nem egy érvényes lehetőség" -#: common/models.py:464 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "Az érték bináris kell legyen" -#: common/models.py:475 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "Az érték egész szám kell legyen" -#: common/models.py:524 +#: common/models.py:521 msgid "Key string must be unique" msgstr "Kulcs string egyedi kell legyen" -#: common/models.py:746 +#: common/models.py:743 msgid "No group" msgstr "Nincs csoport" -#: common/models.py:788 +#: common/models.py:785 msgid "Restart required" msgstr "Újraindítás szükséges" -#: common/models.py:789 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "Egy olyan beállítás megváltozott ami a kiszolgáló újraindítását igényli" -#: common/models.py:796 +#: common/models.py:793 msgid "Server Instance Name" msgstr "Kiszolgáló példány neve" -#: common/models.py:798 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "String leíró a kiszolgáló példányhoz" -#: common/models.py:802 +#: common/models.py:799 msgid "Use instance name" msgstr "Példány név használata" -#: common/models.py:803 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "Példány név használata a címsorban" -#: common/models.py:809 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "Verzió infók megjelenítésének tiltása" -#: common/models.py:810 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "Verzió infók megjelenítése csak admin felhasználóknak" -#: common/models.py:816 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "Cég neve" -#: common/models.py:817 +#: common/models.py:814 msgid "Internal company name" msgstr "Belső cégnév" -#: common/models.py:822 +#: common/models.py:819 msgid "Base URL" msgstr "Kiindulási URL" -#: common/models.py:823 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "Kiindulási URL a kiszolgáló példányhoz" -#: common/models.py:829 +#: common/models.py:826 msgid "Default Currency" msgstr "Alapértelmezett pénznem" -#: common/models.py:830 +#: common/models.py:827 msgid "Default currency" msgstr "Alapértelmezett pénznem" -#: common/models.py:836 +#: common/models.py:833 msgid "Download from URL" msgstr "Letöltés URL-ről" -#: common/models.py:837 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "Képek és fájlok letöltésének engedélyezése külső URL-ről" -#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Vonalkód támogatás" -#: common/models.py:844 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "Vonalkód olvasó engedélyezése" -#: common/models.py:850 +#: common/models.py:847 msgid "Barcode Webcam Support" -msgstr "" +msgstr "Webkamerás vonalkód olvasás" -#: common/models.py:851 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" -msgstr "" +msgstr "Webkamerás kódolvasás engedélyezése a böngészőből" -#: common/models.py:857 +#: common/models.py:854 msgid "IPN Regex" msgstr "IPN reguláris kifejezés" -#: common/models.py:858 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "Reguláris kifejezés ami illeszkedik az alkatrész IPN-re" -#: common/models.py:862 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "Többször is előforduló IPN engedélyezése" -#: common/models.py:863 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "Azonos IPN használható legyen több alkatrész esetén is" -#: common/models.py:869 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "IPN szerkesztésének engedélyezése" -#: common/models.py:870 +#: common/models.py:867 msgid "Allow changing the IPN value while editing a part" msgstr "IPN megváltoztatásánsak engedélyezése az alkatrész szerkesztése közben" -#: common/models.py:876 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "Alkatrészjegyzék adatok másolása" -#: common/models.py:877 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "Alkatrész másoláskor az alkatrészjegyzék adatokat is másoljuk alapból" -#: common/models.py:883 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "Alkatrész paraméterek másolása" -#: common/models.py:884 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "Alkatrész másoláskor a paramétereket is másoljuk alapból" -#: common/models.py:890 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "Alkatrész teszt adatok másolása" -#: common/models.py:891 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "Alkatrész másoláskor a tesztek adatait is másoljuk alapból" -#: common/models.py:897 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "Kategória paraméter sablonok másolása" -#: common/models.py:898 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "Kategória paraméter sablonok másolása alkatrész létrehozásakor" -#: common/models.py:904 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Sablon" -#: common/models.py:905 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "Alkatrészek alapból sablon alkatrészek legyenek" -#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Gyártmány" -#: common/models.py:912 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "Alkatrészeket alapból lehessen gyártani másik alkatrészekből" -#: common/models.py:918 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Összetevő" -#: common/models.py:919 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "Alkatrészek alapból használhatók összetevőként más alkatrészekhez" -#: common/models.py:925 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "Beszerezhető" -#: common/models.py:926 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/models.py:932 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Értékesíthető" -#: common/models.py:933 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "Alkatrészek alapból eladhatók legyenek" -#: common/models.py:939 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Követésre kötelezett" -#: common/models.py:940 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "Alkatrészek alapból követésre kötelezettek legyenek" -#: common/models.py:946 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuális" -#: common/models.py:947 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "Alkatrészek alapból virtuálisak legyenek" -#: common/models.py:953 +#: common/models.py:950 msgid "Show Import in Views" msgstr "Importálás megjelenítése a nézetekben" -#: common/models.py:954 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "Import segéd megjelenítése néhány alkatrész nézetben" -#: common/models.py:960 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "Ár megjelenítése a formokon" -#: common/models.py:961 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "Alkatrész árak megjelenítése néhány formon" -#: common/models.py:972 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "Ár megjelenítése az alkatrészjegyzékben" -#: common/models.py:973 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "Árinformációk megjelenítése az alkatrészjegyzék táblákban" -#: common/models.py:984 +#: common/models.py:981 msgid "Show Price History" msgstr "Ártörténet megjelenítése" -#: common/models.py:985 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "Alkatrész ártörténet megjelenítése" -#: common/models.py:991 +#: common/models.py:988 msgid "Show related parts" msgstr "Kapcsolódó alkatrészek megjelenítése" -#: common/models.py:992 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "Alkatrész kapcsolódó alkatrészeinek megjelenítése" -#: common/models.py:998 +#: common/models.py:995 msgid "Create initial stock" msgstr "Kezdeti készlet létrehozása" -#: common/models.py:999 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "Kezdeti készlet megadása az alkatrész létrehozásakor" -#: common/models.py:1005 +#: common/models.py:1002 msgid "Internal Prices" msgstr "Belső árak" -#: common/models.py:1006 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "Alkatrészekhez belső ár engedélyezése" -#: common/models.py:1012 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "Belső ár alkatrészjegyzék árként" -#: common/models.py:1013 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "Belső ár használata (ha van) az alkatrészjegyzék árszámításában" -#: common/models.py:1019 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "Alkatrész név megjelenítés formátuma" -#: common/models.py:1020 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "Formátum az alkatrész név megjelenítéséhez" -#: common/models.py:1027 +#: common/models.py:1024 msgid "Enable Reports" msgstr "Riportok engedélyezése" -#: common/models.py:1028 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "Riportok előállításának engedélyezése" -#: common/models.py:1034 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "Debug mód" -#: common/models.py:1035 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "Riportok előállítása HTML formátumban (hibakereséshez)" -#: common/models.py:1041 +#: common/models.py:1038 msgid "Page Size" msgstr "Lapméret" -#: common/models.py:1042 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "Alapértelmezett lapméret a PDF riportokhoz" -#: common/models.py:1052 +#: common/models.py:1049 msgid "Test Reports" msgstr "Teszt riportok" -#: common/models.py:1053 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "Teszt riportok előállításának engedélyezése" -#: common/models.py:1059 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "Batch kód sablon" -#: common/models.py:1060 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "Sablon a készlet tételekhez alapértelmezett batch kódok előállításához" -#: common/models.py:1065 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "Készlet lejárata" -#: common/models.py:1066 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "Készlet lejárat kezelésének engedélyezése" -#: common/models.py:1072 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "Lejárt készlet értékesítése" -#: common/models.py:1073 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "Lejárt készlet értékesítésének engedélyezése" -#: common/models.py:1079 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "Álló készlet ideje" -#: common/models.py:1080 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "Napok száma amennyivel a lejárat előtt a készlet tételeket állottnak vesszük" -#: common/models.py:1082 +#: common/models.py:1079 msgid "days" msgstr "nap" -#: common/models.py:1087 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "Lejárt készlet gyártása" -#: common/models.py:1088 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "Gyártás engedélyezése lejárt készletből" -#: common/models.py:1094 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "Készlet tulajdonosok kezelése" -#: common/models.py:1095 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "Tuajdonosok kezelésének engedélyezése a készlet helyekre és tételekre" -#: common/models.py:1101 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "Gyártási utasítás azonosító előtagja" -#: common/models.py:1102 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "Előtag értéke a gyártási utasítás azonosítóhoz" -#: common/models.py:1107 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "Gyártási utasítás azonosító reguláris kifejezés" -#: common/models.py:1108 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "Gyártási utasítás azonosítóra illeszkedő reguláris kifejezés" -#: common/models.py:1112 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "Vevői rendelés azonosító előtagja" -#: common/models.py:1113 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "Előtag értéke a vevői rendelés azonosítóhoz" -#: common/models.py:1118 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "Beszerzési rendelés azonosító előtagja" -#: common/models.py:1119 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "Előtag értéke a beszerzési rendelés azonosítóhoz" -#: common/models.py:1125 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "Elfelejtett jelszó engedélyezése" -#: common/models.py:1126 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon" -#: common/models.py:1132 +#: common/models.py:1129 msgid "Enable registration" msgstr "Regisztráció engedélyezése" -#: common/models.py:1133 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "Felhaszálók önkéntes regisztrációjának engedélyezése a bejelentkező oldalon" -#: common/models.py:1139 +#: common/models.py:1136 msgid "Enable SSO" msgstr "SSO engedélyezése" -#: common/models.py:1140 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "SSO engedélyezése a bejelentkező oldalon" -#: common/models.py:1146 +#: common/models.py:1143 msgid "Email required" msgstr "Email szükséges" -#: common/models.py:1147 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "Kötelező email megadás regisztrációkor" -#: common/models.py:1153 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "SSO felhasználók automatikus kitöltése" -#: common/models.py:1154 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "Felhasználó adatainak automatikus kitöltése az SSO fiókadatokból" -#: common/models.py:1160 +#: common/models.py:1157 msgid "Mail twice" msgstr "Email kétszer" -#: common/models.py:1161 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "Regisztráláskor kétszer kérdezze a felhasználó email címét" -#: common/models.py:1167 +#: common/models.py:1164 msgid "Password twice" msgstr "Jelszó kétszer" -#: common/models.py:1168 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "Regisztráláskor kétszer kérdezze a felhasználó jelszavát" -#: common/models.py:1174 +#: common/models.py:1171 msgid "Group on signup" msgstr "Csoport regisztráláskor" -#: common/models.py:1175 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "Csoport amihez a frissen regisztrált felhasználók hozzá lesznek rendelve" -#: common/models.py:1181 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "Többfaktoros hitelesítés kényszerítése" -#: common/models.py:1182 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk." -#: common/models.py:1188 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "Pluginok ellenőrzése indításkor" -#: common/models.py:1189 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "Ellenőrizze induláskor hogy minden plugin telepítve van - engedélyezd konténer környezetben (docker)" -#: common/models.py:1197 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "URL integráció engedélyezése" -#: common/models.py:1198 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "URL útvonalalak hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:1205 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "Navigációs integráció engedélyezése" -#: common/models.py:1206 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "Navigációs integráció engedélyezése a pluginok számára" -#: common/models.py:1213 +#: common/models.py:1210 msgid "Enable app integration" msgstr "App integráció engedélyezése" -#: common/models.py:1214 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "App hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:1221 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "Ütemezés integráció engedélyezése" -#: common/models.py:1222 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "Háttérben futó feladatok hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:1229 +#: common/models.py:1226 msgid "Enable event integration" msgstr "Esemény integráció engedélyezése" -#: common/models.py:1230 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "Belső eseményekre reagálás engedélyezése a pluginok számára" -#: common/models.py:1245 common/models.py:1539 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "Beállítások kulcs (egyedinek kell lennie, nem kis- nagybetű érzékeny" -#: common/models.py:1276 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "Értesítésre beállított alkatrészek megjelenítése" -#: common/models.py:1277 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "Alkatrész értesítések megjelenítése a főoldalon" -#: common/models.py:1283 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "Értesítésre beállított kategóriák megjelenítése" -#: common/models.py:1284 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "Alkatrész kategória értesítések megjelenítése a főoldalon" -#: common/models.py:1290 +#: common/models.py:1287 msgid "Show latest parts" msgstr "Legújabb alkatrészek megjelenítése" -#: common/models.py:1291 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "Legújabb alkatrészek megjelenítése a főoldalon" -#: common/models.py:1297 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "Legfrissebb alkatrész szám" -#: common/models.py:1298 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "Főoldalon megjelenítendő legújabb alkatrészek" -#: common/models.py:1304 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "Jóváhagyás nélküli alkatrészjegyzékek megjelenítése" -#: common/models.py:1305 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "Jóváhagyásra váró alkatrészjegyzékek megjelenítése a főoldalon" -#: common/models.py:1311 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "Legfrissebb készlet változások megjelenítése" -#: common/models.py:1312 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "Legutóbb megváltozott alkatrészek megjelenítése a főoldalon" -#: common/models.py:1318 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "Legfrissebb készlet mennyiség" -#: common/models.py:1319 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "Főoldalon megjelenítendő legújabb készlet tételek száma" -#: common/models.py:1325 +#: common/models.py:1322 msgid "Show low stock" msgstr "Alacsony készlet megjelenítése" -#: common/models.py:1326 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "Alacsony készletek megjelenítése a főoldalon" -#: common/models.py:1332 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "Kimerült készlet megjelenítése" -#: common/models.py:1333 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "Kimerült készletek megjelenítése a főoldalon" -#: common/models.py:1339 +#: common/models.py:1336 msgid "Show needed stock" msgstr "Gyártáshoz szükséges készlet megjelenítése" -#: common/models.py:1340 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "Gyártáshoz szükséges készletek megjelenítése a főoldalon" -#: common/models.py:1346 +#: common/models.py:1343 msgid "Show expired stock" msgstr "Lejárt készlet megjelenítése" -#: common/models.py:1347 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "Lejárt készletek megjelenítése a főoldalon" -#: common/models.py:1353 +#: common/models.py:1350 msgid "Show stale stock" msgstr "Állott készlet megjelenítése" -#: common/models.py:1354 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "Álló készletek megjelenítése a főoldalon" -#: common/models.py:1360 +#: common/models.py:1357 msgid "Show pending builds" msgstr "Függő gyártások megjelenítése" -#: common/models.py:1361 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon" -#: common/models.py:1367 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "Késésben lévő gyártások megjelenítése" -#: common/models.py:1368 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "Késésben lévő gyártások megjelenítése a főoldalon" -#: common/models.py:1374 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "Kintlévő beszerzési rendelések" -#: common/models.py:1375 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon" -#: common/models.py:1381 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "Késésben lévő megrendelések megjelenítése" -#: common/models.py:1382 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "Késésben lévő megrendelések megjelenítése a főoldalon" -#: common/models.py:1388 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "Függő vevői rendelések megjelenítése" -#: common/models.py:1389 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "Kintlévő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:1395 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "Késésben lévő vevői rendelések megjelenítése" -#: common/models.py:1396 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "Késésben lévő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:1401 +#: common/models.py:1398 msgid "Enable label printing" msgstr "Címke nyomtatás engedélyezése" -#: common/models.py:1402 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "Címke nyomtatás engedélyezése a web felületről" -#: common/models.py:1408 +#: common/models.py:1405 msgid "Inline label display" msgstr "Beágyazott címke megjelenítés" -#: common/models.py:1409 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "PDF címkék megjelenítése a böngészőben letöltés helyett" -#: common/models.py:1415 +#: common/models.py:1412 msgid "Inline report display" msgstr "Beágyazott riport megjelenítés" -#: common/models.py:1416 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "PDF riport megjelenítése a böngészőben letöltés helyett" -#: common/models.py:1422 +#: common/models.py:1419 msgid "Search Parts" msgstr "Alkatrészek keresése" -#: common/models.py:1423 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "Alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:1429 +#: common/models.py:1426 msgid "Search Categories" msgstr "Kategóriák keresése" -#: common/models.py:1430 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "Alkatrész kategóriák megjelenítése a keresési előnézetben" -#: common/models.py:1436 +#: common/models.py:1433 msgid "Search Stock" msgstr "Készlet keresése" -#: common/models.py:1437 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "Készlet tételek megjelenítése a keresési előnézetben" -#: common/models.py:1443 +#: common/models.py:1440 msgid "Search Locations" msgstr "Helyek keresése" -#: common/models.py:1444 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "Készlet helyek megjelenítése a keresési előnézetben" -#: common/models.py:1450 +#: common/models.py:1447 msgid "Search Companies" msgstr "Cégek keresése" -#: common/models.py:1451 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "Cégek megjelenítése a keresési előnézetben" -#: common/models.py:1457 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "Beszerzési rendelések keresése" -#: common/models.py:1458 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "Beszerzési rendelések megjelenítése a keresési előnézetben" -#: common/models.py:1464 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "Vevői rendelések keresése" -#: common/models.py:1465 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "Vevői rendelések megjelenítése a keresési előnézetben" -#: common/models.py:1471 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "Keresési előnézet eredményei" -#: common/models.py:1472 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "A keresési előnézetben megjelenítendő eredmények száma szekciónként" -#: common/models.py:1478 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:1479 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "Inaktív alkatrészek elrejtése a kereső előnézeti ablakban" -#: common/models.py:1485 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "Mennyiség megjelenítése a formokon" -#: common/models.py:1486 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "Rendelkezésre álló alkatrész mennyiség megjelenítése néhány formon" -#: common/models.py:1492 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "ESC billentyű zárja be a formot" -#: common/models.py:1493 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "ESC billentyű használata a modális formok bezárásához" -#: common/models.py:1499 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "Rögzített menüsor" -#: common/models.py:1500 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "A menü pozíciója mindig rögzítve a lap tetején" -#: common/models.py:1506 +#: common/models.py:1503 msgid "Date Format" msgstr "Dátum formátum" -#: common/models.py:1507 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "Preferált dátum formátum a dátumok kijelzésekor" -#: common/models.py:1521 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "Alkatrész ütemezés" -#: common/models.py:1522 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "Alkatrész ütemezési információk megjelenítése" -#: common/models.py:1590 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "Árlépcső mennyiség" -#: common/models.py:1597 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "Ár" -#: common/models.py:1598 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "Egységár egy meghatározott mennyiség esetén" -#: common/models.py:1755 common/models.py:1892 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "Végpont" -#: common/models.py:1756 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "Végpont ahol ez a webhook érkezik" -#: common/models.py:1765 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:1770 part/models.py:988 plugin/models.py:49 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2402,216 +2405,216 @@ msgstr "Webhook neve" msgid "Active" msgstr "Aktív" -#: common/models.py:1771 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:1785 +#: common/models.py:1782 msgid "Token" msgstr "Token" -#: common/models.py:1786 +#: common/models.py:1783 msgid "Token for access" msgstr "Token a hozzáféréshez" -#: common/models.py:1793 +#: common/models.py:1790 msgid "Secret" msgstr "Titok" -#: common/models.py:1794 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "Megosztott titok a HMAC-hoz" -#: common/models.py:1859 +#: common/models.py:1856 msgid "Message ID" msgstr "Üzenet azonosító" -#: common/models.py:1860 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "Egyedi azonosító ehhez az üzenethez" -#: common/models.py:1868 +#: common/models.py:1865 msgid "Host" msgstr "Kiszolgáló" -#: common/models.py:1869 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "Kiszolgáló ahonnan ez az üzenet érkezett" -#: common/models.py:1876 +#: common/models.py:1873 msgid "Header" msgstr "Fejléc" -#: common/models.py:1877 +#: common/models.py:1874 msgid "Header of this message" msgstr "Üzenet fejléce" -#: common/models.py:1883 +#: common/models.py:1880 msgid "Body" msgstr "Törzs" -#: common/models.py:1884 +#: common/models.py:1881 msgid "Body of this message" msgstr "Üzenet törzse" -#: common/models.py:1893 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "Végpont amin ez az üzenet érkezett" -#: common/models.py:1898 +#: common/models.py:1895 msgid "Worked on" msgstr "Dolgozott rajta" -#: common/models.py:1899 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "Befejeződött a munka ezzel az üzenettel?" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Fájl feltöltése" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Mezők egyeztetése" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "Tételek egyeztetése" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "Mezők egyeztetése sikertelen" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "Importált alkatrészek" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "Előző lépés" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "Kép URL" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "Cég leírása" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "A cég leírása" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "Weboldal" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "Cég weboldala" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "Cím" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "Cég címe" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "Telefonszám" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "Kapcsolattartó telefonszáma" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "Email" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "Kapcsolattartó email címe" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "Kapcsolattartó" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "Kapcsolattartó" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "Link a külső céginformációhoz" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "Kép" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "vevő-e" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "Értékesítesz alkatrészeket ennek a cégnek?" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "beszállító-e" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "Vásárolsz alkatrészeket ettől a cégtől?" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "gyártó-e" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "Gyárt ez a cég alkatrészeket?" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "Pénznem" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "Cég által használt alapértelmezett pénznem" -#: company/models.py:317 company/models.py:532 stock/models.py:619 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "Kiindulási alkatrész" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "Válassz alkatrészt" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2619,11 +2622,11 @@ msgstr "Válassz alkatrészt" msgid "Manufacturer" msgstr "Gyártó" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "Gyártó kiválasztása" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 @@ -2631,59 +2634,59 @@ msgstr "Gyártó kiválasztása" msgid "MPN" msgstr "MPN" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "Gyártói cikkszám" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "URL link a gyártói alkatrészhez" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "Gyártói alkatrész leírása" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "Gyártói alkatrész" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "Paraméter neve" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2205 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "Érték" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "Paraméter értéke" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "Mértékegységek" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "Paraméter mértékegység" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészre kell hivatkoznia" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 @@ -2691,66 +2694,66 @@ msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészr msgid "Supplier" msgstr "Beszállító" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "Beszállító kiválasztása" -#: company/models.py:548 company/templates/company/supplier_part.html:97 +#: company/models.py:545 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "SKU" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "Beszállítói cikkszám" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "Gyártói alkatrész kiválasztása" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "URL link a beszállítói alkatrészhez" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "Megjegyzés" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "alap költség" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:643 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "Csomagolás" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "Alkatrész csomagolás" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "többszörös" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "Többszörös rendelés" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "utoljára módosítva" @@ -2805,10 +2808,10 @@ msgstr "Új kép feltöltése" msgid "Download image from URL" msgstr "Kép letöltése URL-ről" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:662 -#: stock/models.py:663 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 @@ -2957,7 +2960,7 @@ msgstr "Az összes kiválasztott beszállítói alkatrész törölve lesz" msgid "Supplier List" msgstr "Beszállítók listája" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2987,10 +2990,10 @@ msgstr "Belső alkatrész" #: company/templates/company/manufacturer_part.html:95 msgid "No manufacturer information available" -msgstr "" +msgstr "Nincs elérhető gyártói információ" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3005,8 +3008,8 @@ msgstr "Beszállítói alkatrész törlése" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "Törlés" @@ -3029,7 +3032,7 @@ msgid "Delete parameters" msgstr "Paraméterek törlése" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "Paraméter hozzáadása" @@ -3058,8 +3061,8 @@ msgid "Assigned Stock Items" msgstr "Hozzárendelt készlet tételek" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:627 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3077,7 +3080,7 @@ msgstr "Beszállítói alkatrész törlése" #: company/templates/company/supplier_part.html:91 msgid "No supplier information available" -msgstr "" +msgstr "Nincs elérhető beszállítói információ" #: company/templates/company/supplier_part.html:144 #: company/templates/company/supplier_part_navbar.html:12 @@ -3085,12 +3088,12 @@ msgid "Supplier Part Stock" msgstr "Beszállítói készlet" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "Új készlet tétel létrehozása" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "Új készlet tétel" @@ -3144,11 +3147,11 @@ msgstr "Utoljára módosítva" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3172,54 +3175,54 @@ msgstr "Árazás" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "Készlet tételek" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "Új beszállító" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "Új gyártó" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "Vevők" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "Új vevő" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "Cégek" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "Új cég" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "Kép letöltése" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "A kép mérete meghaladja a maximum megengedett letöltés méretét" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "Érvénytelen válasz: {code}" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "A megadott URL nem egy érvényes kép fájl" @@ -3227,486 +3230,486 @@ msgstr "A megadott URL nem egy érvényes kép fájl" msgid "No valid objects provided to template" msgstr "Nincs érvényes objektum megadva a sablonhoz" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "Címke neve" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "Címke leírása" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "Címke" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "Címke sablon fájl" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "Engedélyezve" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "Címke sablon engedélyezve" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "Szélesség [mm]" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "Címke szélessége, mm-ben" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "Magasság [mm]" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "Címke magassága, mm-ben" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "Fájlnév minta" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "Minta a címke fájlnevek előállításához" -#: label/models.py:258 +#: label/models.py:255 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)," -#: label/models.py:259 label/models.py:319 label/models.py:366 -#: report/models.py:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "Szűrők" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "Lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Alkatrész lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "Rendelés leírása" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "Link külső weboldalra" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "Készítette" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "Felhasználó vagy csoport aki felelőse ennek a rendelésnek" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "Rendelés jegyzetek" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "Rendelés azonosító" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "Beszerzési rendelés állapota" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "Cég akitől a tételek beszerzésre kerülnek" -#: order/models.py:256 order/templates/order/order_base.html:124 +#: order/models.py:258 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "Beszállítói azonosító" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "Beszállítói rendelés azonosító kód" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "érkeztette" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "Kiállítás dátuma" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "Kiállítás dátuma" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "Várható beérkezés" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Várt teljesítési dátuma a megrendelésnek. Ezután már késésben lévőnek számít majd." -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "Rendelés teljesítési dátuma" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "Az alkatrész beszállítója meg kell egyezzen a beszerzési rendelés beszállítójával" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "Mennyiség pozitív kell legyen" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "Cég akinek a tételek értékesítésre kerülnek" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "Vevői azonosító " -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "Megrendelés azonosító kódja a vevőnél" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "Cél dátum a rendelés teljesítéséhez. Ez után számít majd késettnek." -#: order/models.py:615 order/models.py:1155 +#: order/models.py:617 order/models.py:1157 #: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "Kiszállítás dátuma" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "szállította" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "A rendelés nem teljesíthető mivel nincs hozzárendelve alkatrész" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "Csak függő rendelés jelölhető késznek" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "A rendelés nem jelölhető késznek mivel nem teljesített szállítások vannak" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "A rendelés nem jelölhető késznek mivel nem teljesített sortételek vannak" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "Tétel mennyiség" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "Sortétel azonosító" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "Sortétel megjegyzései" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "Cél szállítási dátuma ennek a sortételnek" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "Kontextus" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "További kontextus ehhez a sorhoz" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "Egységár" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" -msgstr "" +msgstr "törölve" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 #: templates/js/translated/order.js:2718 msgid "Order" msgstr "Rendelés" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 +#: stock/templates/stock/item_base.html:342 #: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "Beszállítói alkatrész" -#: order/models.py:976 order/templates/order/order_base.html:169 +#: order/models.py:978 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "Beérkezett" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "Érkezett tételek száma" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "Beszerzési ár" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "Beszerzési egységár" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "Mit szeretne a vevő hol tároljuk ezt az alkatrészt?" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "Eladási ár" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "Eladási egységár" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "Szállított mennyiség" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "Szállítás dátuma" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "Ellenőrizte" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "Szállítmány száma" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "Szállítás megjegyzései" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "Nyomkövetési szám" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "Szállítmány nyomkövetési információ" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "Szállítmány már elküldve" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "Készlet tétel nincs hozzárendelve" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "Nem foglalható készlet egy másik fajta alkatrész sortételéhez" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "Nem foglalható készlet egy olyan sorhoz amiben nincs alkatrész" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "Készlet tétel túlfoglalva" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "Vevői rendelés nem egyezik a szállítással" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "Szállítás nem egyezik a vevői rendeléssel" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "Sor" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "Szállítmány" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "Vevői rendelés szállítás azonosító" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "Tétel" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "Válaszd ki a foglalásra szánt készlet tételt" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "Pénznem" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "A rendelést nem lehet törölni" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "A rendelés nem nyitott" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "Beszérzési ár pénzneme" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "Beszállítói alkatrészt meg kell adni" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "Beszerzési rendelést meg kell adni" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "A beszállítónak egyeznie kell a beszerzési rendelésben lévővel" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "A beszerzési rendelésnek egyeznie kell a beszállítóval" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "Sortétel" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "Sortétel nem egyezik a beszerzési megrendeléssel" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "Válassz cél helyet a beérkezett tételeknek" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "Írd be a batch kódját a beérkezett tételeknek" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "Írd be a sorozatszámokat a beérkezett tételekhez" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "Vonalkód hash" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "Egyedi azonosító mező" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "Ez a vonalkód már használva van" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett alkatrészeknél" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "Sortételt meg kell adni" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "A cél helyet kötelező megadni" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "Megadott vonalkódoknak egyedieknek kel lenniük" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "Eladási ár pénzneme" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "Nincsenek szállítmány részletek megadva" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "Sortétel nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "Mennyiség pozitív kell legyen" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "Írd be a sorozatszámokat a kiosztáshoz" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "Szállítmány kiszállítva" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "Szállítás nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "Nincs találat a következő sorozatszámokra" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "A következő sorozatszámok már ki lettek osztva" @@ -3773,7 +3776,7 @@ msgstr "Rendelés állapota" #: order/templates/order/order_base.html:117 msgid "No suppplier information available" -msgstr "" +msgstr "Nincs elérhető beszállítói információ" #: order/templates/order/order_base.html:130 #: order/templates/order/sales_order_base.html:128 @@ -3826,7 +3829,7 @@ msgstr "Beszállítói alkatrész kiválasztása" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 @@ -3944,7 +3947,7 @@ msgid "Pending Shipments" msgstr "Függő szállítmányok" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "Műveletek" @@ -3952,73 +3955,73 @@ msgstr "Műveletek" msgid "New Shipment" msgstr "Új szállítmány" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "Beszállítói alkatrészek egyeztetése" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "Vevő rendelés nem találhtó" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "Nem található ár" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "A {part} egységára {price}-ra módosítva" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "A {part} alkatrész módosított egységára {price} mennyisége pedig {qty}" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "Beérkező beszerzési rendelés" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "Kimenő vevői rendelés" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "Gyártással előállított készlet" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "A gyártási utasításhoz szükséges készlet" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "Érvényes" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "Teljes alkatrészjegyzék jóváhagyása" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "Ennek az opciónak ki kll lennie választva" -#: part/api.py:1037 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "Nullánál nagyobb kell legyen" -#: part/api.py:1041 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "Érvényes mennyiségnek kell lennie" -#: part/api.py:1056 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "Hely megadása a kezdeti alkarész készlethez" -#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "Ez a mező kötelező" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "Alapértelmezett hely" @@ -4038,46 +4041,46 @@ msgstr "Elérhető készlet" msgid "On Order" msgstr "Rendelve" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "Alkatrész kategória kiválasztása" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "Paraméter sablon hozzáadása az azonos szintű kategóriákhoz" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "Paraméter sablon hozzáadása az összes kategóriához" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "Add meg a mennyiséget az árszámításhoz" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "Ebben a kategóriában lévő alkatrészek helye alapban" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "Alapértelmezett kulcsszavak" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Alkatrész kategória" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "Alkatrész kategóriák" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4088,65 +4091,65 @@ msgstr "Alkatrész kategóriák" msgid "Parts" msgstr "Alkatrészek" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "Hibás választás a szülő alkatrészre" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "A '{p1}' alkatrész a '{p2}' alkatrészjegyzékében már szerepel (rekurzív)" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "A következő szabad sorozatszámok" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "A következő szabad sorozatszám" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "A legutóbbi sorozatszám" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "Azonos IPN nem engedélyezett az alkatrész beállításokban" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "Alkatrész neve" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "Sablon-e" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "Ez egy sablon alkatrész?" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "Ez az alkatrész egy másik változata?" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "Ebből a sablonból" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "Alkatrész leírása" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "Kulcsszavak" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "Alkatrész kulcsszavak amik segítik a megjelenést a keresési eredményekben" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4155,352 +4158,352 @@ msgstr "Alkatrész kulcsszavak amik segítik a megjelenést a keresési eredmén msgid "Category" msgstr "Kategória" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "Alkatrész kategória" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "IPN" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "Belső cikkszám" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "Alkatrész változat vagy verziószám (pl. szín, hossz, revízió, stb.)" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "Változat" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "Alapban hol tároljuk ezt az alkatrészt?" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "Alapértelmezett beszállító" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "Alapértelmezett beszállítói alkatrész" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "Alapértelmezett lejárat" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "Lejárati idő (napban) ennek az alkatrésznek a készleteire" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "Minimális készlet" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "Minimálisan megengedett készlet mennyiség" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "Az alkatrész raktározási mértékegységei" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "Gyártható-e ez az alkatrész más alkatrészekből?" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "Felhasználható-e ez az alkatrész más alkatrészek gyártásához?" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "Kell-e külön követni az egyes példányait ennek az alkatrésznek?" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "Rendelhető-e ez az alkatrész egy külső beszállítótól?" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "Értékesíthető-e önmagában ez az alkatrész a vevőknek?" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "Aktív-e ez az alkatrész?" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "Ez egy virtuális nem megfogható alkatrész, pl. szoftver vagy licenc?" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "Alkatrész megjegyzései - támogatja a Markdown formázást" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "Alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "Tárolt alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "Alkatrészjegyzéket ellenőrizte" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "Alkatrészjegyzék ellenőrzési dátuma" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "Létrehozó" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "Több értékesítése" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "Teszt sablont csak követésre kötelezett alkatrészhez lehet csinálni" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "Erre az alkatrészre már létezik teszt ilyen névvel" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "Teszt név" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "Kötelező" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "Kötelező érték" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően érték legyen rendelve?" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "Kötelező melléklet" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően fájl melléklet legyen rendelve?" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "Érvénytelen karakter ({c}) a sablon nevében" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "A paraméter sablon nevének egyedinek kell lennie" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "Paraméter neve" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "Paraméter mértékegysége" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "Szülő alkatrész" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "Paraméter sablon" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "Adat" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "Paraméter értéke" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "Alapértelmezett érték" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "Alkatrész ID vagy alkatrész név" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "Alkatrész ID" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "Egyedi alkatrész ID értéke" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "Alkatrész neve" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "Alkatrész IPN" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "Alkatrész IPN érték" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "Szint" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "Alkatrészjegyzék szint" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "Opcionális" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Többlet" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Becsült gyártási veszteség (abszolút vagy százalékos)" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "Örökölt" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Ezt az alkatrészjegyzék tételt az alkatrész változatok alkatrészjegyzékei is öröklik" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "Változatok" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Alkatrészváltozatok készlet tételei használhatók ehhez az alkatrészjegyzék tételhez" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "A mennyiség egész szám kell legyen a követésre kötelezett alkatrészek esetén" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "A helyettesítő alkatrész nem lehet ugyanaz mint a fő alkatrész" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "1.rész" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "2.rész" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "Hiba a kapcsolat létrehozása közben: ellenőrizd hogy az alkatrész nem kapcsolódik-e saját magához és azt hogy a kapcsolat egyedi" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "Beszerzési pénzneme ennek a készlet tételnek" @@ -4669,7 +4672,7 @@ msgstr "Alkatrészek száma (alkategóriákkal együtt)" msgid "Create new part" msgstr "Alkatrész létrehozása" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "Új alkatrész" @@ -4817,7 +4820,7 @@ msgstr "Alkatrészjegyzék" msgid "Export actions" msgstr "Exportálási műveletek" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "Alkatrészjegyzék exportálása" @@ -4869,46 +4872,38 @@ msgstr "Alkatrész gyártók" msgid "Delete manufacturer parts" msgstr "Gyártói alkatrészek törlése" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "Töröljük a kiválasztott alkatrészjegyzék tételeket?" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "Az összes kijelölt alkatrészjegyzék tétel törlésre kerül" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "Alkatrészjegyzék tétel létrehozása" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "Kapcsolódó alkatrész" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "Kapcsolódó alkatrész hozzáadása" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "Teszt eredmény sablon hozzáadása" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "Beszerzési egységár - %(currency)s" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "Egységár-önköltség különbség - %(currency)s" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "Beszállítói egység költség - %(currency)s" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "Egységár - %(currency)s" @@ -4970,20 +4965,20 @@ msgid "Subscribe to notifications for this part" msgstr "Értesítések kérése erre az alkatrészre" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "Vonalkód műveletek" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "QR kód megjelenítése" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "Címke nyomtatása" @@ -4992,8 +4987,8 @@ msgid "Show pricing information" msgstr "Árinformációk megjelenítése" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "Készlet műveletek" @@ -5081,7 +5076,7 @@ msgstr "Gyártáshoz lefoglalva" msgid "Allocated to Sales Orders" msgstr "Vevő rendeléshez lefoglalva" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "Gyártható" @@ -5100,7 +5095,7 @@ msgid "Latest Serial Number" msgstr "Legutolsó sorozatszám" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "Sorozatszámra keresés" @@ -5139,7 +5134,7 @@ msgid "Total Cost" msgstr "Teljes költség" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "Nincs beszállítói árinfomáció" @@ -5258,7 +5253,7 @@ msgstr "Eladási ár megjelenítése" msgid "Calculation parameters" msgstr "Számítási paraméterek" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "Beszállítói költség" @@ -5368,80 +5363,80 @@ msgstr "Ismeretlen adatbázis" msgid "{title} v{version}" msgstr "{title} v{version}" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "Alkatrész kategória beállítása" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "Állítsd be {n} alkatrész kategóriáját" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "Azonosítók egyeztetése" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "Egyik sem" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "Alkatrész QR kódja" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "Válassz képet az alkatrészhez" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "Alkatrész képe frissítve" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "Az alkatrész képe nem található" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "Alkatrész törlés megerősítése" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "Alkatrész törölve" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "Alkatrész árak" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "Alkatrész paraméter sablon létrehozása" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "Alkatrész paraméter sablon módosítása" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "Alkatrész paraméter sablon törlése" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "Alkatrész kategória törlése" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "Alkatrész kategória törölve" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "Kategória paraméter sablon létrehozása" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "Kategória paraméter sablon szerkesztése" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "Kategória paraméter sablon törlése" @@ -5503,11 +5498,11 @@ msgstr "Címkenyomtatás sikertelen" #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" -msgstr "" +msgstr "InvenTree fejlesztők" #: plugin/builtin/integration/core_notifications.py:25 msgid "Integrated outgoing notificaton methods" -msgstr "" +msgstr "Integrált kimenő értesítési módszerek" #: plugin/builtin/integration/core_notifications.py:29 #: plugin/builtin/integration/core_notifications.py:46 @@ -5519,37 +5514,45 @@ msgstr "Email értesítések engedélyezése" msgid "Allow sending of emails for event notifications" msgstr "Email küldés engedélyezése esemény értesítésekre" -#: plugin/models.py:29 +#: plugin/models.py:36 +msgid "Plugin Metadata" +msgstr "Plugin meta adatok" + +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" +msgstr "JSON meta adat mező, külső pluginok számára" + +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "Plugin beállítás" -#: plugin/models.py:30 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "Plugin beállítások" -#: plugin/models.py:35 +#: plugin/models.py:92 msgid "Key" msgstr "Kulcs" -#: plugin/models.py:36 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "Plugin kulcsa" -#: plugin/models.py:44 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "PluginNeve a pluginnak" -#: plugin/models.py:50 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "Aktív-e a plugin" -#: plugin/models.py:123 +#: plugin/models.py:180 msgid "Plugin" msgstr "Plugin" -#: plugin/models.py:197 +#: plugin/models.py:254 msgid "Method" -msgstr "" +msgstr "Módszer" #: plugin/plugin.py:247 msgid "No author found" @@ -5591,35 +5594,35 @@ msgstr "Választás beállításai" msgid "A setting with multiple choices" msgstr "Egy beállítás több választási lehetőséggel" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "Forrás URL" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "Csomag forrása - ez lehet egy registry vagy VCS útvonal" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "Csomag neve" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "Plugin csomag neve - verzió megjelölést is tartalmazhat" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "Bővítmény telepítésének megerősítése" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "Ez telepíti ezt a plugint az aktuális példányra. A példány karbantartási módba megy." -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "Tlepítés nincs megerősítve" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "Vagy csomag nevet vagy URL-t meg kell adni" @@ -5628,87 +5631,87 @@ msgstr "Vagy csomag nevet vagy URL-t meg kell adni" msgid "Template file '{template}' is missing or does not exist" msgstr "A '{template}' sablon fájl hiányzik vagy nem érhető el" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "Sablon neve" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "Riport sablon fájl" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "Riport sablon leírása" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "Riport verziószáma (automatikusan nő)" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "Minta a riport fájlnevek előállításához" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "Riport sablon engedélyezve" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Készlet lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "Beépített tesztekkel együtt" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "Gyártmányba beépített készlet tételek teszt eredményeivel együtt" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "Gyártás szűrők" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Gyártás lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "Alkatrész szűrők" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Alkatrész lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "Megrendelés lekérdezés szűrők" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "Vevő rendelés lekérdezés szűrők" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "Részlet" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "Riport részlet fájl" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "Részlet fájl leírása" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "Eszköz" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "Riport asset fájl" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "Asset fájl leírása" @@ -5718,14 +5721,14 @@ msgstr "Szükséges ehhez" #: report/templates/report/inventree_po_report.html:77 msgid "Supplier was deleted" -msgstr "" +msgstr "Beszállító törölve lett" #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "Készlet tétel teszt riport" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:667 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 @@ -5739,12 +5742,12 @@ msgid "Test Results" msgstr "Teszt eredmények" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2193 +#: stock/models.py:2190 msgid "Test" msgstr "Teszt" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2199 +#: stock/models.py:2196 msgid "Result" msgstr "Eredmény" @@ -5774,362 +5777,362 @@ msgstr "Beépített tételek" msgid "Serial" msgstr "Sorozatszám" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "Mennyiség megadása kötelező" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "Egy érvényes alkatrészt meg kell adni" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Sorozatszámot nem lehet megadni nem követésre kötelezett alkatrész esetén" -#: stock/models.py:94 stock/models.py:762 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "Tulajdonos" -#: stock/models.py:95 stock/models.py:763 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "Tulajdonos kiválasztása" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "Létezik már készlet tétel ilyen a sorozatszámmal" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "A alkatrész típus ('{pf}') {pe} kell legyen" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "Mennyiség 1 kell legyen a sorozatszámmal rendelkező tételnél" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Nem lehet sorozatszámot megadni ha a mennyiség több mint egy" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "A tétel nem tartozhat saját magához" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "A tételnek kell legyen gyártási azonosítója ha az is_bulding igaz" -#: stock/models.py:568 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "Gyártási azonosító nem ugyanarra az alkatrész objektumra mutat" -#: stock/models.py:611 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "Szülő készlet tétel" -#: stock/models.py:620 +#: stock/models.py:617 msgid "Base part" msgstr "Kiindulási alkatrész" -#: stock/models.py:628 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "Válassz egy egyező beszállítói alkatrészt ehhez a készlet tételhez" -#: stock/models.py:634 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Készlet hely" -#: stock/models.py:637 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "Hol található ez az alkatrész?" -#: stock/models.py:644 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "A csomagolása ennek a készlet tételnek itt van tárolva" -#: stock/models.py:650 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "Beépítve ebbe" -#: stock/models.py:653 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "Ez a tétel be van építve egy másik tételbe?" -#: stock/models.py:669 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "Sorozatszám ehhez a tételhez" -#: stock/models.py:683 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "Batch kód ehhez a készlet tételhez" -#: stock/models.py:688 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "Készlet mennyiség" -#: stock/models.py:697 +#: stock/models.py:694 msgid "Source Build" msgstr "Forrás gyártás" -#: stock/models.py:699 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "Gyártás ehhez a készlet tételhez" -#: stock/models.py:710 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "Forrás beszerzési rendelés" -#: stock/models.py:713 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "Beszerzés ehhez a készlet tételhez" -#: stock/models.py:719 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "Cél vevői rendelés" -#: stock/models.py:725 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "Lejárati dátum" -#: stock/models.py:726 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Készlet tétel lejárati dátuma. A készlet lejártnak tekinthető ezután a dátum után" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "Törlés ha kimerül" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "Készlet tétel törlése ha kimerül" -#: stock/models.py:749 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "Készlet tétel megjegyzések" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "Egy egység beszerzési ára a beszerzés időpontjában" -#: stock/models.py:790 +#: stock/models.py:787 msgid "Converted to part" msgstr "Alkatrésszé alakítva" -#: stock/models.py:1310 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "Az alkatrész nem követésre kötelezett" -#: stock/models.py:1316 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "Mennyiség egész szám kell legyen" -#: stock/models.py:1322 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "A mennyiség nem lépheti túl a készletet ({n})" -#: stock/models.py:1325 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "A sorozatszám egész számok listája kell legyen" -#: stock/models.py:1328 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával" -#: stock/models.py:1335 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Ezek a sorozatszámok már léteznek: {exists}" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez" -#: stock/models.py:1409 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "Készlet tétel beépül egy másikba" -#: stock/models.py:1412 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "A készlet tétel más tételeket tartalmaz" -#: stock/models.py:1415 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: stock/models.py:1418 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "Készlet tétel gyártás alatt" -#: stock/models.py:1421 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "Követésre kötelezett készlet nem vonható össze" -#: stock/models.py:1428 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "Duplikált készlet tételek vannak" -#: stock/models.py:1432 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "A készlet tétel ugyanarra az alkatrészre kell vonatkozzon" -#: stock/models.py:1436 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "A készlet tétel ugyanarra a beszállítói alkatrészre kell vonatkozzon" -#: stock/models.py:1440 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "Készlet tételek állapotainak egyeznie kell" -#: stock/models.py:1612 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "Készlet tétel nem mozgatható mivel nincs készleten" -#: stock/models.py:2113 +#: stock/models.py:2110 msgid "Entry notes" msgstr "Bejegyzés megjegyzései" -#: stock/models.py:2170 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "Ehhez a teszthez meg kell adni értéket" -#: stock/models.py:2176 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "Ehhez a teszthez fel kell tölteni mellékletet" -#: stock/models.py:2194 +#: stock/models.py:2191 msgid "Test name" msgstr "Teszt neve" -#: stock/models.py:2200 +#: stock/models.py:2197 msgid "Test result" msgstr "Teszt eredménye" -#: stock/models.py:2206 +#: stock/models.py:2203 msgid "Test output value" msgstr "Teszt kimeneti értéke" -#: stock/models.py:2213 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "Teszt eredmény melléklet" -#: stock/models.py:2219 +#: stock/models.py:2216 msgid "Test notes" msgstr "Tesztek megjegyzései" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "Beszerzési ára ennek a készlet tételnek" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "Add meg hány készlet tételt lássunk el sorozatszámmal" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "A mennyiség nem lépheti túl a rendelkezésre álló készletet ({q})" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "Írd be a sorozatszámokat az új tételekhez" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "Cél készlet hely" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "Opcionális megjegyzés mező" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "Sorozatszámokat nem lehet hozzárendelni ehhez az alkatrészhez" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "A sorozatszámok már léteznek" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "Válaszd ki a beépítésre szánt készlet tételt" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "Készlet tétel nem elérhető" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "A kiválasztott alkatrész nincs az alkatrészjegyzékben" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" -msgstr "" +msgstr "Cél hely a kiszedett tételeknek" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "Tranzakció megjegyzés hozzáadása (opcionális)" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "Az alkatrésznek értékesíthetőnek kell lennie" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "A tétel egy vevő rendeléshez foglalt" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "A tétel egy gyártási utasításhoz foglalt" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "Vevő akihez rendeljük a készlet tételeket" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "A kiválasztott cég nem egy vevő" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "Készlet hozzárendelés megjegyzései" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "A készlet tételek listáját meg kell adni" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "Készlet összevonás megjegyzései" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "Nem egyező beszállítók megengedése" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "Különböző beszállítói alkatrészekből származó készletek összevonásának engedélyezése" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "Nem egyező állapotok megjelenítése" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "Különböző állapotú készletek összevonásának engedélyezése" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "Legalább két készlet tételt meg kell adni" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "Készlet tétel elsődleges kulcs értéke" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "Készlet tranzakció megjegyzései" @@ -6154,7 +6157,7 @@ msgstr "Ez a készlet tétel nem tartalmaz egy altételt sem" msgid "Test Data" msgstr "Teszt adatok" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "Teszt riport" @@ -6178,194 +6181,198 @@ msgstr "Készlet tétel beépítése" msgid "Add Test Result" msgstr "Teszt eredmény hozzáadása" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "Készlet tétel keresése" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "Vonalkód leválasztása" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "Vonalkód hozzárendelése" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "Áthelyezés kódolvasással" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "Nyomtatási műveletek" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "Készlet módosítási műveletek" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "Leltározás" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "Készlet növelése" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "Készlet csökkentése" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "Sorozatszámok előállítása" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "Készlet áthelyezése" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "Vevőhöz rendelése" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "Visszavétel készletre" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "Készlet tétel kiszedése" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "Kiszedés" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "Készlet tétel beépítése" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "Beépítés" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "Változattá alakítás" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "Készlet tétel másolása" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "Készlet tétel szerkesztése" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "Készlet tétel törlése" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "előző oldal" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "Menj az előző sorozatszámhoz" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "követkető oldal" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "Menj a következő sorozatszámhoz" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Ez a készlet tétel lejárt %(item.expiry_date)s-n" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "Lejárt" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Ez a készlet tétel lejár %(item.expiry_date)s-n" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "Állott" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "Utoljára módosítva" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "Utolsó leltár" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "Még nem volt leltározva" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "Ez a készlet tétel éppen gyártás alatt van és nem szerkeszthető." -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "Készlet tétel szerkesztése a gyártási nézetből." -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "Ez a készlet tétel nem felelt meg az összes szükséges teszten" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "Foglalva ehhez a vevői rendeléshez" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "Foglalva ehhez a gyártási utasításhoz" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "Ez a készlet tétel egyedi követésre kötelezett - egyedi sorozatszámmal rendelkezik így a mennyiség nem módosítható." -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "Nincs beállítva hely" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "Vonalkód azonosító" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "Szülő tétel" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "Nincs beállítva gyártó" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "Tesztek" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "Úgytűnik nem vagy ennek a tételnek a tulajdonosa. Ezt így nem tudod módosítani." -#: stock/templates/stock/item_base.html:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "Csak olvasható" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "Készlet állapot szerkesztése" @@ -6386,54 +6393,58 @@ msgstr "Sorszámozott készletek létrehozása ebből a készlet tételből." msgid "Select quantity to serialize, and unique serial numbers." msgstr "Válassz mennyiséget és egyedi sorozatszámokat a sorozatszámozáshoz." -#: stock/templates/stock/location.html:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "Készlet hely keresése" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "Tételek bevételezése" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "Hely műveletek" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "Hely szerkesztése" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "Hely törlése" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "Új készlet hely létrehozása" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "Új hely" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "Hely elérési út" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "Legfelső szintű készlet hely" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "Hely tulajdonosa" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Úgytűnik nem vagy ennek a készlethelynek a tulajdonosa. Ezt így nem tudod módosítani." -#: stock/templates/stock/location.html:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Alhelyek" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "Készlethelyek" @@ -6486,7 +6497,7 @@ msgstr "Foglalások" msgid "Child Items" msgstr "Gyermek tételek" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "Készlet tétel konvertálása" @@ -6511,55 +6522,55 @@ msgstr "Ez a művelet nem vonható vissza könnyen" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "Biztosan törölni akarod ezt a készlettörténeti bejegyzést?" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "Készlet hely QR kódja" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "Visszavétel készletre" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "Adj meg egy érvényes helyet" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "Készlet tétel vevőtől visszahozva" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "Minden teszt adat törlése" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "Teszt adat törlésének megerősítése" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "Klikkeld be a megerősítő mezőt" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "Készlet tétel QR kódja" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "Készlethely törlése" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "Készlet tétel törlése" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "Készlettörténet bejegyzés törlése" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "Készlettörténet bejegyzés szerkesztése" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "Készlettörténet bejegyzés hozzáadása" @@ -6828,7 +6839,7 @@ msgid "Plugins" msgstr "Pluginok" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "Plugin Telepítése" @@ -6849,7 +6860,7 @@ msgstr "Verzió" #: templates/InvenTree/settings/plugin.html:74 msgid "Sample" -msgstr "" +msgstr "Minta" #: templates/InvenTree/settings/plugin.html:99 msgid "Inactive plugins" @@ -6953,7 +6964,7 @@ msgstr "Plugin beállítások módosítása" #: templates/InvenTree/settings/settings.html:121 msgid "Edit Notification Setting" -msgstr "" +msgstr "Értesítési beállítások szerkesztése" #: templates/InvenTree/settings/settings.html:124 msgid "Edit Global Setting" @@ -7277,9 +7288,9 @@ msgid "InvenTree Version Information" msgstr "InvenTree verzió információk" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7519,15 +7530,15 @@ msgstr "Link hozzáadása" msgid "Add Attachment" msgstr "Melléklet hozzáadása" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "Kiszolgáló újraindítása szükséges" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "Egy olyan konfigurációs opció megváltozott ami a kiszolgáló újraindítását igényli" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "Vedd fel a kapcsolatot a rendszergazdával további információkért" @@ -7549,13 +7560,13 @@ msgid "The following parts are low on required stock" msgstr "A következő alkatrészek szükséges készlete alacsony" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "Szükséges mennyiség" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7591,11 +7602,11 @@ msgstr "A távoli kiszolgálónak elérhetőnek kell lennie" msgid "Remote image must not exceed maximum allowable file size" msgstr "A távoli kép mérete nem haladhatja meg a maximális fájlméretet" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "Nincs válasz" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "Nincs válasz az InvenTree kiszolgálótól" @@ -7607,27 +7618,27 @@ msgstr "Error 400: Rossz kérelem" msgid "API request returned error code 400" msgstr "Az API kérelem 400-as hibakódot adott vissza" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "Error 401: Nincs hitelesítve" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "Hitelesítési adatok nem lettek megadva" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "Error 403: Hozzáférés megtagadva" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 msgid "You do not have the required permissions to access this function" msgstr "Nincs meg a szükséges jogosultságod, hogy elérd ezt a funkciót" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "Error 404: Erőforrás nem található" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "A kért erőforrás nem található a kiszolgálón" @@ -7639,11 +7650,11 @@ msgstr "Error 405: Metódus nincs engedélyezve" msgid "HTTP method not allowed at URL" msgstr "HTTP metódus nincs engedélyezve ezen az URL-n" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "Error 408: Időtúllépés" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "Időtúllépés a kiszolgálótól való adatlekérés közben" @@ -7712,7 +7723,7 @@ msgid "Unknown response from server" msgstr "Ismeretlen válasz a kiszolgálótól" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "Érvénytelen válasz a szervertől" @@ -7781,178 +7792,182 @@ msgstr "Készlet áthelyezése a leolvasott helyre" msgid "Barcode does not match a valid location" msgstr "A vonalkód nem egyezik egy ismert hellyel sem" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "Sor adatok mutatása" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "Sor adat" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "Alkarészjegyzék sablon letöltése" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "Formátum" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "Fájlfomátum kiválasztása" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "Többszíntű" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "Többszintű alkatrészjegyzék letöltése" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "Szintek" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "Válaszd ki a maximum alkatrészjegyzék szintet amit exportáljunk (0=összes szintet)" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "Paraméter adattal együtt" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "Alkatrész paraméter adatok megjelenítése az exportált alkatrészjegyzékben" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "Készlet adatokkal együtt" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "Készlet adatok megjelenítése az exportált alkatrészjegyzékben" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "Gyártói adatokkal együtt" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "Gyártói adatok megjelenítése az exportált alkatrészjegyzékben" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "Beszállítói adatokkal együtt" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "Beszállítói adatok megjelenítése az exportált alkatrészjegyzékben" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "Helyettesítő alkatrész törlése" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "Válassz és adj hozzá új helyettesítő alkatrészt a lenti mezőben" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "Biztosan törölni akarod ezt a helyettesítő alkatrész hozzárendelést?" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "Helyettesítő alkatrész törlése" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "Helyettesítő hozzáadása" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "Alkatrészjegyzék tétel helyettesítők szerkesztése" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "Az összes kijelölt alkatrészjegyzék tétel törlésre kerül" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "Töröljük a kiválasztott alkatrészjegyzék tételeket?" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "BOM betöltése az al-gyártmányhoz" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "Vannak helyettesítők" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "Készletváltozatok engedélyezve" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "Nincs szabad" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "Változatokkal és helyettesítőkkel együtt" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "Változatokkal együtt" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "Helyettesítőkkel együtt" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "Helyettesítõk" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "Beszerzési ártartomány" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "Beszerzési átlagár" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "Alkatrészjegyzék megtekintése" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "Alkatrészjegyzék tétel jóváhagyása" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "Ez a sor jóvá lett hagyva" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "Helyettesítő alkatrészek szerkesztése" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "Alkatrészjegyzék tétel szerkesztése" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "Alkatrészjegyzék tétel törlése" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "Nem találhatók alkatrészjegyzék tételek" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "Biztos törölni akarod ezt az alkatrészjegyzék tételt?" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "Szükséges alkatrész" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "Örökölve a szülő alkatrészjegyzéktől" @@ -7966,7 +7981,7 @@ msgstr "Gyártási utasítás létrehozása" #: templates/js/translated/build.js:134 msgid "Cancel Build Order" -msgstr "" +msgstr "Gyártási utasítás törlése" #: templates/js/translated/build.js:143 msgid "Are you sure you wish to cancel this build?" @@ -7974,11 +7989,11 @@ msgstr "Biztosan meg szeretnéd szakítani ezt a gyártást?" #: templates/js/translated/build.js:149 msgid "Stock items have been allocated to this build order" -msgstr "" +msgstr "Ehhez a gyártáshoz készlet lett hozzárendelve" #: templates/js/translated/build.js:156 msgid "There are incomplete outputs remaining for this build order" -msgstr "" +msgstr "Ennek a gyártásnak befejezetlen kimenetei vannak" #: templates/js/translated/build.js:185 msgid "Build order is ready to be completed" @@ -8367,61 +8382,61 @@ msgstr "Összes szűrő törlése" msgid "Create filter" msgstr "Szűrő létrehozása" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "Művelet tiltva" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "Létrehozás nem engedélyezett" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "Módosítás nem engedélyezett" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "Törlés nem engedélyezett" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "Megtekintés nem engedélyezett" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "Form nyitva tartása" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "Adj meg egy érvényes számot" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Form hibák vannak" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "Nincs eredmény" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "Keresés" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "Bevitel törlése" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "Fájl oszlop" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "Mező név" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "Oszlopok kiválasztása" @@ -8479,78 +8494,78 @@ msgstr "Alkatrész(eke)t ki kell választani a címkenyomtatás előtt" msgid "No labels found which match the selected part(s)" msgstr "Nem található címke a kiválasztott alkatrész(ek)hez" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "Nyomtató kiválasztása" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "Exportálás PDF-be" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "kiválasztott készlet tételek" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "Címke sablon kiválasztása" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "Mégsem" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "Küldés" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "Form megnevezése" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "Várakozás a kiszolgálóra..." -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "Hibainformációk megjelenítése" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "Elfogadás" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "Adatok betöltése" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "Rossz válasz a kiszolgálótól" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "Űrlap adat hiányzik a kiszolgálótól kapott válaszban" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "Form adat küldési hiba" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "JSON válasz hiányzó form adatok" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "Error 400: Rossz kérelem" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "A kiszolgáló 400-as hibakódot adott vissza" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "Form adat lekérése sikertelen" @@ -8626,7 +8641,7 @@ msgstr "Szállítmány megerősítése" #: templates/js/translated/order.js:156 msgid "Complete Purchase Order" -msgstr "" +msgstr "Beszerzési rendelés befejezése" #: templates/js/translated/order.js:162 msgid "Mark this order as complete?" @@ -8634,7 +8649,7 @@ msgstr "Rendelés befejezettnek jelölése?" #: templates/js/translated/order.js:168 msgid "All line items have been received" -msgstr "" +msgstr "Minden sortétel megérkezett" #: templates/js/translated/order.js:173 msgid "This order has line items which have not been marked as received." @@ -8646,19 +8661,19 @@ msgstr "A rendelés befejezésével jelölésével annak adatai és sortételei #: templates/js/translated/order.js:197 msgid "Cancel Purchase Order" -msgstr "" +msgstr "Beszerzési rendelés törlése" #: templates/js/translated/order.js:202 msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" +msgstr "Biztosan törölni szeretnéd ezt a beszerzési rendelést?" #: templates/js/translated/order.js:208 msgid "This purchase order can not be cancelled" -msgstr "" +msgstr "Ezt a beszerzési rendelést nem lehet törölni" #: templates/js/translated/order.js:231 msgid "Issue Purchase Order" -msgstr "" +msgstr "Beszerzési rendelés kiküldése" #: templates/js/translated/order.js:236 msgid "After placing this purchase order, line items will no longer be editable." @@ -8666,7 +8681,7 @@ msgstr "A beszerzési rendelés kiküldése után annak sortételei a továbbiak #: templates/js/translated/order.js:258 msgid "Cancel Sales Order" -msgstr "" +msgstr "Vevő rendelés törlése" #: templates/js/translated/order.js:263 msgid "Cancelling this order means that the order will no longer be editable." @@ -9224,7 +9239,7 @@ msgstr "Egységes ár" msgid "Single Price Difference" msgstr "Egységes ár különbség" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "A plugin telepítve lett" @@ -9629,7 +9644,7 @@ msgstr "Készlet tétel kiszedése" #: templates/js/translated/stock.js:2671 msgid "Select stock item to uninstall" -msgstr "" +msgstr "Válaszd ki a kiszedni való készlet tételt" #: templates/js/translated/stock.js:2692 msgid "Install another stock item into this item" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index d711ca5e7b..2845f46f7f 100644 --- a/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/InvenTree/locale/id/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-15 23:30+0000\n" -"PO-Revision-Date: 2022-05-16 01:10\n" +"POT-Creation-Date: 2022-05-16 14:52+0000\n" +"PO-Revision-Date: 2022-05-17 01:05\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -17,56 +17,56 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:53 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "API endpoint tidak ditemukan" -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "Masukkan tanggal" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "Konfirmasi" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "Konfirmasi penghapusan" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "Konfirmasi penghapusan item" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "Masukkan sandi" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "Masukkan kata sandi baru" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "Konfirmasikan kata sandi" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "Konfirmasi sandi baru" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "Pilih Kategori" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "Email (ulang)" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "Konfirmasi alamat email" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "" @@ -75,7 +75,7 @@ msgstr "" msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "" @@ -120,7 +120,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2212 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "" @@ -129,16 +129,16 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:677 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "" @@ -150,10 +150,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 -#: common/models.py:1547 common/models.py:1778 common/models.py:1779 -#: common/models.py:2006 common/models.py:2007 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -192,9 +192,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:43 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -207,19 +207,19 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 @@ -239,56 +239,56 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -431,7 +431,7 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:143 order/models.py:1068 +#: InvenTree/status_codes.py:143 order/models.py:1070 #: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "" @@ -584,42 +584,42 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -629,40 +629,41 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 -#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -673,10 +674,11 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 @@ -689,132 +691,132 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:249 build/serializers.py:794 +#: build/models.py:247 build/serializers.py:791 #: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" -#: build/models.py:253 +#: 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:258 +#: build/models.py:256 msgid "Destination Location" msgstr "" -#: build/models.py:262 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:681 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "" -#: build/models.py:294 order/models.py:134 part/models.py:1009 +#: build/models.py:292 order/models.py:136 part/models.py:1007 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:675 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 #: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 #: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 #: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 @@ -822,62 +824,62 @@ msgstr "" msgid "Notes" msgstr "" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1214 +#: build/models.py:1212 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 @@ -888,18 +890,18 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1589 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -907,13 +909,14 @@ msgstr "" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 @@ -928,87 +931,87 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 @@ -1020,13 +1023,13 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 #: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 @@ -1034,129 +1037,129 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "" @@ -1226,7 +1229,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 @@ -1259,13 +1262,13 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:297 #: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1301,7 +1304,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:990 +#: build/templates/build/detail.html:49 order/models.py:992 #: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1315,7 +1318,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1432,12 +1435,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1503,7 +1506,7 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "" @@ -1527,873 +1530,873 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:401 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:403 +#: common/models.py:400 msgid "Settings value" msgstr "" -#: common/models.py:444 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:464 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:475 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "" -#: common/models.py:524 +#: common/models.py:521 msgid "Key string must be unique" msgstr "" -#: common/models.py:746 +#: common/models.py:743 msgid "No group" msgstr "" -#: common/models.py:788 +#: common/models.py:785 msgid "Restart required" msgstr "" -#: common/models.py:789 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:796 +#: common/models.py:793 msgid "Server Instance Name" msgstr "" -#: common/models.py:798 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:802 +#: common/models.py:799 msgid "Use instance name" msgstr "" -#: common/models.py:803 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:809 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:810 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:816 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "" -#: common/models.py:817 +#: common/models.py:814 msgid "Internal company name" msgstr "" -#: common/models.py:822 +#: common/models.py:819 msgid "Base URL" msgstr "" -#: common/models.py:823 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "" -#: common/models.py:829 +#: common/models.py:826 msgid "Default Currency" msgstr "" -#: common/models.py:830 +#: common/models.py:827 msgid "Default currency" msgstr "" -#: common/models.py:836 +#: common/models.py:833 msgid "Download from URL" msgstr "" -#: common/models.py:837 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:844 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:850 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:851 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:857 +#: common/models.py:854 msgid "IPN Regex" msgstr "" -#: common/models.py:858 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:869 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:870 +#: common/models.py:867 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:876 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:877 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:884 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:891 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:897 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:898 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:904 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:905 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "" -#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:912 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:918 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:919 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:925 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "" -#: common/models.py:926 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:932 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:933 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "" -#: common/models.py:939 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:940 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:946 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:947 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:953 +#: common/models.py:950 msgid "Show Import in Views" msgstr "" -#: common/models.py:954 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:960 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "" -#: common/models.py:961 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "" -#: common/models.py:972 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "" -#: common/models.py:973 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:984 +#: common/models.py:981 msgid "Show Price History" msgstr "" -#: common/models.py:985 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:991 +#: common/models.py:988 msgid "Show related parts" msgstr "" -#: common/models.py:992 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "" -#: common/models.py:998 +#: common/models.py:995 msgid "Create initial stock" msgstr "" -#: common/models.py:999 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1005 +#: common/models.py:1002 msgid "Internal Prices" msgstr "" -#: common/models.py:1006 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1012 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1013 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1019 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1020 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "" -#: common/models.py:1027 +#: common/models.py:1024 msgid "Enable Reports" msgstr "" -#: common/models.py:1028 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1034 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1035 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1041 +#: common/models.py:1038 msgid "Page Size" msgstr "" -#: common/models.py:1042 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:1049 msgid "Test Reports" msgstr "" -#: common/models.py:1053 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1059 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "" -#: common/models.py:1060 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1065 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "" -#: common/models.py:1066 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1072 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1073 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1079 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1080 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1082 +#: common/models.py:1079 msgid "days" msgstr "" -#: common/models.py:1087 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1088 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1094 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1095 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1101 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1102 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1107 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1108 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1112 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1113 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1118 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1129 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1136 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1143 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1157 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1164 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1171 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1210 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1226 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1539 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1287 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1322 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1336 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1343 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1350 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1357 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1398 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1405 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1412 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1419 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1426 msgid "Search Categories" msgstr "" -#: common/models.py:1430 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1433 msgid "Search Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1440 msgid "Search Locations" msgstr "" -#: common/models.py:1444 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1447 msgid "Search Companies" msgstr "" -#: common/models.py:1451 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1458 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1465 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "" -#: common/models.py:1472 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1479 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1486 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1492 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1493 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1499 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1500 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1506 +#: common/models.py:1503 msgid "Date Format" msgstr "" -#: common/models.py:1507 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1521 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1522 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1590 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "" -#: common/models.py:1597 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1598 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1755 common/models.py:1892 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "" -#: common/models.py:1756 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1765 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "" -#: common/models.py:1770 part/models.py:988 plugin/models.py:49 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2401,216 +2404,216 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "" -#: common/models.py:1785 +#: common/models.py:1782 msgid "Token" msgstr "" -#: common/models.py:1786 +#: common/models.py:1783 msgid "Token for access" msgstr "" -#: common/models.py:1793 +#: common/models.py:1790 msgid "Secret" msgstr "" -#: common/models.py:1794 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1859 +#: common/models.py:1856 msgid "Message ID" msgstr "" -#: common/models.py:1860 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1868 +#: common/models.py:1865 msgid "Host" msgstr "" -#: common/models.py:1869 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1876 +#: common/models.py:1873 msgid "Header" msgstr "" -#: common/models.py:1877 +#: common/models.py:1874 msgid "Header of this message" msgstr "" -#: common/models.py:1883 +#: common/models.py:1880 msgid "Body" msgstr "" -#: common/models.py:1884 +#: common/models.py:1881 msgid "Body of this message" msgstr "" -#: common/models.py:1893 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1898 +#: common/models.py:1895 msgid "Worked on" msgstr "" -#: common/models.py:1899 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:619 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2618,11 +2621,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 @@ -2630,59 +2633,59 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2205 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 @@ -2690,66 +2693,66 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:97 +#: company/models.py:545 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:643 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "" @@ -2804,10 +2807,10 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:662 -#: stock/models.py:663 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 @@ -2956,7 +2959,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2989,7 +2992,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3004,8 +3007,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "" @@ -3028,7 +3031,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "" @@ -3057,8 +3060,8 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:627 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3084,12 +3087,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "" @@ -3143,11 +3146,11 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3171,54 +3174,54 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3226,486 +3229,486 @@ msgstr "" msgid "No valid objects provided to template" msgstr "" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:258 +#: label/models.py:255 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:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:256 order/templates/order/order_base.html:124 +#: order/models.py:258 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1155 +#: order/models.py:617 order/models.py:1157 #: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 #: templates/js/translated/order.js:2718 msgid "Order" msgstr "" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 +#: stock/templates/stock/item_base.html:342 #: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "" -#: order/models.py:976 order/templates/order/order_base.html:169 +#: order/models.py:978 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "" @@ -3825,7 +3828,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 @@ -3943,7 +3946,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "" @@ -3951,73 +3954,73 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "" -#: part/api.py:1037 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1041 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1056 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" @@ -4037,46 +4040,46 @@ msgstr "" msgid "On Order" msgstr "" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4087,65 +4090,65 @@ msgstr "" msgid "Parts" msgstr "" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4154,352 +4157,352 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "" @@ -4668,7 +4671,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "" @@ -4816,7 +4819,7 @@ msgstr "" msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "" @@ -4868,46 +4871,38 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4969,20 +4964,20 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "" @@ -4991,8 +4986,8 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "" @@ -5080,7 +5075,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "" @@ -5099,7 +5094,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "" @@ -5138,7 +5133,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "" @@ -5257,7 +5252,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "" @@ -5367,80 +5362,80 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "" @@ -5518,35 +5513,43 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:29 +#: plugin/models.py:36 +msgid "Plugin Metadata" +msgstr "" + +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" +msgstr "" + +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:92 msgid "Key" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "" -#: plugin/models.py:44 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:50 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:123 +#: plugin/models.py:180 msgid "Plugin" msgstr "" -#: plugin/models.py:197 +#: plugin/models.py:254 msgid "Method" msgstr "" @@ -5590,35 +5593,35 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "" @@ -5627,87 +5630,87 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "" @@ -5724,7 +5727,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:667 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 @@ -5738,12 +5741,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2193 +#: stock/models.py:2190 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2199 +#: stock/models.py:2196 msgid "Result" msgstr "" @@ -5773,362 +5776,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:762 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:763 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:568 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:611 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:620 +#: stock/models.py:617 msgid "Base part" msgstr "" -#: stock/models.py:628 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:634 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:637 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:644 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:650 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "" -#: stock/models.py:653 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:669 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "" -#: stock/models.py:683 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:688 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "" -#: stock/models.py:697 +#: stock/models.py:694 msgid "Source Build" msgstr "" -#: stock/models.py:699 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "" -#: stock/models.py:710 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:713 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:719 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:725 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:726 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:749 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:790 +#: stock/models.py:787 msgid "Converted to part" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1322 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1325 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1428 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1612 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2113 +#: stock/models.py:2110 msgid "Entry notes" msgstr "" -#: stock/models.py:2170 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2176 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2194 +#: stock/models.py:2191 msgid "Test name" msgstr "" -#: stock/models.py:2200 +#: stock/models.py:2197 msgid "Test result" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2203 msgid "Test output value" msgstr "" -#: stock/models.py:2213 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "" -#: stock/models.py:2219 +#: stock/models.py:2216 msgid "Test notes" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "" @@ -6153,7 +6156,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" @@ -6177,194 +6180,198 @@ msgstr "" msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 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:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -6385,54 +6392,58 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6485,7 +6496,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "" @@ -6510,55 +6521,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "" @@ -6827,7 +6838,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" @@ -7276,9 +7287,9 @@ msgid "InvenTree Version Information" msgstr "" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7518,15 +7529,15 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "" @@ -7548,13 +7559,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7590,11 +7601,11 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "" @@ -7606,27 +7617,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "" @@ -7638,11 +7649,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7711,7 +7722,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "" @@ -7780,178 +7791,182 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "" @@ -8366,61 +8381,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "" @@ -8478,78 +8493,78 @@ msgstr "" msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "" @@ -9223,7 +9238,7 @@ msgstr "" msgid "Single Price Difference" msgstr "" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index 44c6deb3c9..2f77a52cf3 100644 --- a/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/InvenTree/locale/it/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-15 23:30+0000\n" -"PO-Revision-Date: 2022-05-16 01:10\n" +"POT-Creation-Date: 2022-05-16 14:52+0000\n" +"PO-Revision-Date: 2022-05-17 01:05\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -17,56 +17,56 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:53 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "Endpoint API non trovato" -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "Inserisci la data" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "Conferma" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "Conferma eliminazione" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "Conferma eliminazione elementi" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "Inserire la password" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "Inserire una nuova password" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "Conferma la password" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "Conferma la nuova password" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "Selezione una categoria" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "Email (ancora)" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "Conferma indirizzo email" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "È necessario digitare la stessa e-mail ogni volta." @@ -75,7 +75,7 @@ msgstr "È necessario digitare la stessa e-mail ogni volta." msgid "Duplicate serial: {sn}" msgstr "Seriale duplicato: {sn}" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "Quantità inserita non valida" @@ -120,7 +120,7 @@ msgstr "File mancante" msgid "Missing external link" msgstr "Link esterno mancante" -#: InvenTree/models.py:197 stock/models.py:2212 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "Allegato" @@ -129,16 +129,16 @@ msgstr "Allegato" msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "Collegamento" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:677 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "Link a URL esterno" @@ -150,10 +150,10 @@ msgstr "Commento" msgid "File comment" msgstr "Commento del file" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 -#: common/models.py:1547 common/models.py:1778 common/models.py:1779 -#: common/models.py:2006 common/models.py:2007 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -192,9 +192,9 @@ msgstr "Errore nella rinominazione del file" msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:43 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -207,19 +207,19 @@ msgstr "Scelta non valida" msgid "Name" msgstr "Nome" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 @@ -239,56 +239,56 @@ msgstr "Descrizione (opzionale)" msgid "parent" msgstr "genitore" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "Deve essere un numero valido" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "Nome del file" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "Valore non valido" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "File dati" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "Seleziona un file per il caricamento" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "Formato file non supportato" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "File troppo grande" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "Nessun colonna trovata nel file" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Colonna richiesta mancante: '{name}'" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Colonna duplicata: '{col}'" @@ -431,7 +431,7 @@ msgstr "Perso" msgid "Returned" msgstr "Reso" -#: InvenTree/status_codes.py:143 order/models.py:1068 +#: InvenTree/status_codes.py:143 order/models.py:1070 #: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "Spedito" @@ -584,42 +584,42 @@ msgstr "L'eccesso non deve superare il 100%" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "Cancella elemento" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "Spunta la casella per confermare l'eliminazione dell'elemento" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Modifica informazioni utente" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Imposta Password" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "Le password devono coincidere" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "Informazioni sistema" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "Ordine di Produzione" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -629,40 +629,41 @@ msgstr "Ordine di Produzione" msgid "Build Orders" msgstr "Ordini di Produzione" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 -#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "Riferimento" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -673,10 +674,11 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 @@ -689,132 +691,132 @@ msgstr "" msgid "Part" msgstr "Articolo" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "Selezionare parte da produrre" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "Numero di riferimento ordine di vendita" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:249 build/serializers.py:794 +#: build/models.py:247 build/serializers.py:791 #: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "Posizione Di Origine" -#: build/models.py:253 +#: build/models.py:251 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Seleziona la posizione da cui prelevare la giacenza (lasciare vuoto per prelevare da qualsiasi posizione di magazzino)" -#: build/models.py:258 +#: build/models.py:256 msgid "Destination Location" msgstr "Posizione Della Destinazione" -#: build/models.py:262 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "Seleziona il luogo in cui gli articoli completati saranno immagazzinati" -#: build/models.py:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "Quantità Produzione" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "Articoli completati" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:681 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "Codice Lotto" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "" -#: build/models.py:294 order/models.py:134 part/models.py:1009 +#: build/models.py:292 order/models.py:136 part/models.py:1007 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "Data di creazione" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "Data completamento obiettivo" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "Data di completamento" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "Completato da" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "Rilasciato da" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "Responsabile" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:675 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "Collegamento esterno" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 #: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 #: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 #: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 @@ -822,62 +824,62 @@ msgstr "Collegamento esterno" msgid "Notes" msgstr "Note" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1214 +#: build/models.py:1212 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantità assegnata ({q}) non deve essere maggiore della quantità disponibile ({a})" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "La quantità deve essere 1 per lo stock serializzato" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "Articolo in giacenza selezionato non trovato nel BOM" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "Produzione" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 @@ -888,18 +890,18 @@ msgstr "" msgid "Stock Item" msgstr "Articoli in magazzino" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "Origine giacenza articolo" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1589 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -907,13 +909,14 @@ msgstr "Origine giacenza articolo" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 @@ -928,87 +931,87 @@ msgstr "Origine giacenza articolo" msgid "Quantity" msgstr "Quantità" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "Installa in" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "Destinazione articolo in giacenza" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "Inserisci la quantità per l'output di compilazione" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "Codice Seriale" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "Inserisci i numeri di serie per gli output di compilazione (build option)" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "I seguenti numeri di serie sono già esistenti" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 @@ -1020,13 +1023,13 @@ msgstr "" msgid "Location" msgstr "Posizione" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "Posizione per gli output di build completati" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 #: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 @@ -1034,129 +1037,129 @@ msgstr "Posizione per gli output di build completati" msgid "Status" msgstr "Stato" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "Distinta base (Bom)" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantità disponibile ({q}) superata" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "Deve essere indicata l'allocazione dell'articolo" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "" @@ -1226,7 +1229,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 @@ -1259,13 +1262,13 @@ msgid "Completed" msgstr "Completato" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:297 #: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "Ordini di Vendita" @@ -1301,7 +1304,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "Lo stock può essere prelevato da qualsiasi posizione disponibile." -#: build/templates/build/detail.html:49 order/models.py:990 +#: build/templates/build/detail.html:49 order/models.py:992 #: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "Destinazione" @@ -1315,7 +1318,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1432,12 +1435,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "Azioni di stampa" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "Stampa etichette" @@ -1503,7 +1506,7 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "Elimina Ordine Build" @@ -1527,873 +1530,873 @@ msgstr "Errore nella lettura del file (dimensione errata)" msgid "Error reading file (data could be corrupted)" msgstr "Errore di lettura del file (i dati potrebbero essere danneggiati)" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "Seleziona file da caricare" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "Seleziona il file {name} da caricare" -#: common/models.py:401 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:403 +#: common/models.py:400 msgid "Settings value" msgstr "Valore impostazioni" -#: common/models.py:444 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "Il valore specificato non è un opzione valida" -#: common/models.py:464 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "Il valore deve essere un valore booleano" -#: common/models.py:475 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "Il valore deve essere un intero" -#: common/models.py:524 +#: common/models.py:521 msgid "Key string must be unique" msgstr "La stringa chiave deve essere univoca" -#: common/models.py:746 +#: common/models.py:743 msgid "No group" msgstr "Nessun gruppo" -#: common/models.py:788 +#: common/models.py:785 msgid "Restart required" msgstr "Riavvio richiesto" -#: common/models.py:789 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "È stata modificata un'impostazione che richiede un riavvio del server" -#: common/models.py:796 +#: common/models.py:793 msgid "Server Instance Name" msgstr "" -#: common/models.py:798 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "Descrittore stringa per l'istanza del server" -#: common/models.py:802 +#: common/models.py:799 msgid "Use instance name" msgstr "Utilizza nome istanza" -#: common/models.py:803 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "Usa il nome dell'istanza nella barra del titolo" -#: common/models.py:809 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:810 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:816 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "Nome azienda" -#: common/models.py:817 +#: common/models.py:814 msgid "Internal company name" msgstr "Nome interno dell'azienda" -#: common/models.py:822 +#: common/models.py:819 msgid "Base URL" msgstr "URL Base" -#: common/models.py:823 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "URL di base per l'istanza del server" -#: common/models.py:829 +#: common/models.py:826 msgid "Default Currency" msgstr "Valuta predefinita" -#: common/models.py:830 +#: common/models.py:827 msgid "Default currency" msgstr "Valuta predefinita" -#: common/models.py:836 +#: common/models.py:833 msgid "Download from URL" msgstr "Scarica dall'URL" -#: common/models.py:837 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "Consenti il download di immagini e file remoti da URL esterno" -#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Supporto Codice A Barre" -#: common/models.py:844 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "Abilita supporto scanner codici a barre" -#: common/models.py:850 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:851 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:857 +#: common/models.py:854 msgid "IPN Regex" msgstr "" -#: common/models.py:858 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "Schema di espressione regolare per l'articolo corrispondente IPN" -#: common/models.py:862 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "Consenti duplicati IPN" -#: common/models.py:863 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "Permetti a più articoli di condividere lo stesso IPN" -#: common/models.py:869 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "Permetti modifiche al part number interno (IPN)" -#: common/models.py:870 +#: common/models.py:867 msgid "Allow changing the IPN value while editing a part" msgstr "Consenti di modificare il valore del part number durante la modifica di un articolo" -#: common/models.py:876 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "Copia I Dati Della distinta base dell'articolo" -#: common/models.py:877 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "Copia I Dati Parametro dell'articolo" -#: common/models.py:884 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "Copia i dati dei parametri di default quando si duplica un articolo" -#: common/models.py:890 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:891 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "Copia i dati di prova di default quando si duplica un articolo" -#: common/models.py:897 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "Copia Template Parametri Categoria" -#: common/models.py:898 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" -#: common/models.py:904 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:905 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "Gli articoli sono modelli per impostazione predefinita" -#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Assemblaggio" -#: common/models.py:912 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "Gli articoli possono essere assemblate da altri componenti per impostazione predefinita" -#: common/models.py:918 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Componente" -#: common/models.py:919 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "Gli articoli possono essere assemblati da altri componenti per impostazione predefinita" -#: common/models.py:925 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "Acquistabile" -#: common/models.py:926 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:932 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Vendibile" -#: common/models.py:933 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:939 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Tracciabile" -#: common/models.py:940 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" -#: common/models.py:946 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuale" -#: common/models.py:947 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "Gli articoli sono virtuali per impostazione predefinita" -#: common/models.py:953 +#: common/models.py:950 msgid "Show Import in Views" msgstr "Mostra l'importazione nelle viste" -#: common/models.py:954 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "Mostra la procedura guidata di importazione in alcune viste articoli" -#: common/models.py:960 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "Mostra il prezzo nei moduli" -#: common/models.py:961 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "Mostra il prezzo dell'articolo in alcuni moduli" -#: common/models.py:972 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "Mostra il prezzo nella BOM" -#: common/models.py:973 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "Includi le informazioni sui prezzi nelle tabelle BOM" -#: common/models.py:984 +#: common/models.py:981 msgid "Show Price History" msgstr "" -#: common/models.py:985 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:991 +#: common/models.py:988 msgid "Show related parts" msgstr "Mostra articoli correlati" -#: common/models.py:992 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "Visualizza parti correlate per ogni articolo" -#: common/models.py:998 +#: common/models.py:995 msgid "Create initial stock" msgstr "Crea giacenza iniziale" -#: common/models.py:999 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "Crea giacenza iniziale sulla creazione articolo" -#: common/models.py:1005 +#: common/models.py:1002 msgid "Internal Prices" msgstr "Prezzi interni" -#: common/models.py:1006 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "Abilita prezzi interni per gli articoli" -#: common/models.py:1012 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "Prezzo interno come BOM-Price" -#: common/models.py:1013 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "Utilizzare il prezzo interno (se impostato) nel calcolo del prezzo BOM" -#: common/models.py:1019 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "Formato di visualizzazione del nome articolo" -#: common/models.py:1020 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "Formato per visualizzare il nome dell'articolo" -#: common/models.py:1027 +#: common/models.py:1024 msgid "Enable Reports" msgstr "Abilita Report di Stampa" -#: common/models.py:1028 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "Abilita generazione di report di stampa" -#: common/models.py:1034 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "Modalità Debug" -#: common/models.py:1035 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "Genera report in modalità debug (output HTML)" -#: common/models.py:1041 +#: common/models.py:1038 msgid "Page Size" msgstr "Dimensioni pagina" -#: common/models.py:1042 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "Dimensione predefinita della pagina per i report PDF" -#: common/models.py:1052 +#: common/models.py:1049 msgid "Test Reports" msgstr "Stampa di prova" -#: common/models.py:1053 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "Abilita generazione di stampe di prova" -#: common/models.py:1059 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "" -#: common/models.py:1060 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1065 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "Scadenza giacenza" -#: common/models.py:1066 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "Abilita funzionalità di scadenza della giacenza" -#: common/models.py:1072 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "Vendi giacenza scaduta" -#: common/models.py:1073 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "Consenti la vendita di stock scaduti" -#: common/models.py:1079 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1080 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "Numero di giorni in cui gli articoli in magazzino sono considerati obsoleti prima della scadenza" -#: common/models.py:1082 +#: common/models.py:1079 msgid "days" msgstr "giorni" -#: common/models.py:1087 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1088 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1094 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "Controllo della proprietà della giacenza" -#: common/models.py:1095 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "Abilita il controllo della proprietà sulle posizioni e gli oggetti in giacenza" -#: common/models.py:1101 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1102 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1107 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1108 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1112 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1113 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1118 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "Referenza ordine d'acquisto" -#: common/models.py:1119 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "Abilita password dimenticata" -#: common/models.py:1126 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "Abilita la funzione password dimenticata nelle pagine di accesso" -#: common/models.py:1132 +#: common/models.py:1129 msgid "Enable registration" msgstr "Abilita registrazione" -#: common/models.py:1133 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso" -#: common/models.py:1139 +#: common/models.py:1136 msgid "Enable SSO" msgstr "SSO abilitato" -#: common/models.py:1140 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "Abilita SSO nelle pagine di accesso" -#: common/models.py:1146 +#: common/models.py:1143 msgid "Email required" msgstr "Email richiesta" -#: common/models.py:1147 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione" -#: common/models.py:1153 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "Riempimento automatico degli utenti SSO" -#: common/models.py:1154 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "Compila automaticamente i dettagli dell'utente dai dati dell'account SSO" -#: common/models.py:1160 +#: common/models.py:1157 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1164 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1171 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1210 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1226 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1539 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole" -#: common/models.py:1276 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "Mostra le categorie sottoscritte" -#: common/models.py:1284 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "Mostra le categorie dei componenti sottoscritti nella homepage" -#: common/models.py:1290 +#: common/models.py:1287 msgid "Show latest parts" msgstr "Mostra ultimi articoli" -#: common/models.py:1291 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1322 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1336 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1343 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1350 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1357 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1398 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1405 msgid "Inline label display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1409 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Visualizza le etichette PDF nel browser, invece di scaricare come file" -#: common/models.py:1415 +#: common/models.py:1412 msgid "Inline report display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1416 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Visualizza le etichette PDF nel browser, invece di scaricare come file" -#: common/models.py:1422 +#: common/models.py:1419 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1426 msgid "Search Categories" msgstr "" -#: common/models.py:1430 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1433 msgid "Search Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1440 msgid "Search Locations" msgstr "" -#: common/models.py:1444 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1447 msgid "Search Companies" msgstr "" -#: common/models.py:1451 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1458 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1465 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "Risultati Dell'Anteprima Di Ricerca" -#: common/models.py:1472 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1479 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1486 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1492 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1493 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1499 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1500 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1506 +#: common/models.py:1503 msgid "Date Format" msgstr "" -#: common/models.py:1507 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1521 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1522 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1590 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "" -#: common/models.py:1597 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "Prezzo" -#: common/models.py:1598 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1755 common/models.py:1892 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "" -#: common/models.py:1756 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1765 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "" -#: common/models.py:1770 part/models.py:988 plugin/models.py:49 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2401,216 +2404,216 @@ msgstr "" msgid "Active" msgstr "Attivo" -#: common/models.py:1771 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "" -#: common/models.py:1785 +#: common/models.py:1782 msgid "Token" msgstr "" -#: common/models.py:1786 +#: common/models.py:1783 msgid "Token for access" msgstr "" -#: common/models.py:1793 +#: common/models.py:1790 msgid "Secret" msgstr "" -#: common/models.py:1794 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1859 +#: common/models.py:1856 msgid "Message ID" msgstr "" -#: common/models.py:1860 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1868 +#: common/models.py:1865 msgid "Host" msgstr "" -#: common/models.py:1869 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1876 +#: common/models.py:1873 msgid "Header" msgstr "" -#: common/models.py:1877 +#: common/models.py:1874 msgid "Header of this message" msgstr "" -#: common/models.py:1883 +#: common/models.py:1880 msgid "Body" msgstr "" -#: common/models.py:1884 +#: common/models.py:1881 msgid "Body of this message" msgstr "" -#: common/models.py:1893 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1898 +#: common/models.py:1895 msgid "Worked on" msgstr "" -#: common/models.py:1899 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Carica file" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Abbina Campi" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "Elementi corrispondenti" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "Corrispondenza campi non riuscita" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "Articoli importati" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "Passaggio Precedente" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "URL Immagine" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "Descrizione azienda" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "Descrizione dell'azienda" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "Sito Web" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "Sito web aziendale" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "Indirizzo" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "Indirizzo dell'azienda" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "Telefono" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "Numero di telefono di contatto" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "Indirizzo email" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "Contatto" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "Punto di contatto" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "Collegamento alle informazioni aziendali esterne" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "Immagine" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "è un cliente" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "Vendi oggetti a questa azienda?" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "è un fornitore" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "Acquistate articoli da questa azienda?" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "è un produttore" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "Valuta" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:619 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "Articolo di base" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "Seleziona articolo" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2618,11 +2621,11 @@ msgstr "Seleziona articolo" msgid "Manufacturer" msgstr "Produttore" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "Seleziona Produttore" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 @@ -2630,59 +2633,59 @@ msgstr "Seleziona Produttore" msgid "MPN" msgstr "Codice articolo produttore (MPN)" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "Codice articolo produttore" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "URL dell'articolo del fornitore" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "Descrizione articolo costruttore" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "Codice articolo produttore" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "Nome parametro" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2205 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "Valore" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "Valore del parametro" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "Unità" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "Unità parametri" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 @@ -2690,66 +2693,66 @@ msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo msgid "Supplier" msgstr "Fornitore" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "Seleziona fornitore" -#: company/models.py:548 company/templates/company/supplier_part.html:97 +#: company/models.py:545 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "Selezionare un produttore" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "URL dell'articolo del fornitore" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "Descrizione articolo fornitore" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "Nota" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "costo base" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:643 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "Confezionamento" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "Imballaggio del pezzo" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "multiplo" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "Ordine multiplo" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "" @@ -2804,10 +2807,10 @@ msgstr "Carica nuova immagine" msgid "Download image from URL" msgstr "Scarica immagine dall'URL" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:662 -#: stock/models.py:663 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 @@ -2956,7 +2959,7 @@ msgstr "Tutte gli articoli del fornitore selezionati saranno eliminati" msgid "Supplier List" msgstr "Elenco dei fornitori" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2989,7 +2992,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3004,8 +3007,8 @@ msgstr "Elimina articolo fornitore" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "Elimina" @@ -3028,7 +3031,7 @@ msgid "Delete parameters" msgstr "Elimina il parametro" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "Aggiungi parametro" @@ -3057,8 +3060,8 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:627 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3084,12 +3087,12 @@ msgid "Supplier Part Stock" msgstr "Fornitore articolo in giacenza" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "Crea nuova allocazione magazzino" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "Nuovo Elemento in giacenza" @@ -3143,11 +3146,11 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3171,54 +3174,54 @@ msgstr "Prezzi" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "Articoli in magazzino" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "Nuovo Fornitore" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "Nuovo Produttore" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "Clienti" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "Nuovo cliente" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "Aziende" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "Nuova Azienda" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "Download Immagine" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "La dimensione dell'immagine supera la dimensione massima consentita per il download" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "Risposta non valida: {code}" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "L'URL fornito non è un file immagine valido" @@ -3226,486 +3229,486 @@ msgstr "L'URL fornito non è un file immagine valido" msgid "No valid objects provided to template" msgstr "Nessun oggetto valido fornito nel modello" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "Nome etichetta" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "Descrizione etichetta" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "Etichetta" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "File modello etichetta" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "Abilitato" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "Modello di etichetta abilitato" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "Larghezza [mm]" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "Larghezza dell'etichetta, specificata in mm" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "Altezza [mm]" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "Larghezza dell'etichetta, specificata in mm" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:258 +#: label/models.py:255 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:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "Filtri" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "Descrizione ordine" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "Creato Da" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "Utente o gruppo responsabile di questo ordine" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "Note ordine" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "Riferimento ordine" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "Stato ordine d'acquisto" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "Azienda da cui sono stati ordinati gli articoli" -#: order/models.py:256 order/templates/order/order_base.html:124 +#: order/models.py:258 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "Riferimento fornitore" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "Codice di riferimento ordine fornitore" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "ricevuto da" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "Data di emissione" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "Data di emissione ordine" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "Data di consegna programmata" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Data prevista per la consegna dell'ordine. L'ordine scadrà dopo questa data." -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "Data ordine completato" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1155 +#: order/models.py:617 order/models.py:1157 #: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 #: templates/js/translated/order.js:2718 msgid "Order" msgstr "" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 +#: stock/templates/stock/item_base.html:342 #: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "Articolo Fornitore" -#: order/models.py:976 order/templates/order/order_base.html:169 +#: order/models.py:978 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "Inserisci la quantità assegnata alla giacenza" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "Seleziona la posizione di destinazione per gli elementi ricevuti" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "La destinazione deve essere specificata" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "" @@ -3825,7 +3828,7 @@ msgstr "Seleziona l'articolo del fornitore" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 @@ -3943,7 +3946,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "" @@ -3951,73 +3954,73 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "" -#: part/api.py:1037 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1041 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1056 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "Specifica la posizione per lo stock iniziale" -#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "Posizione Predefinita" @@ -4037,46 +4040,46 @@ msgstr "Disponibilità in magazzino" msgid "On Order" msgstr "Ordinato" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "Seleziona categoria articolo" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "Digita la quantità per il calcolo del prezzo" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "Posizione predefinita per gli articoli di questa categoria" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "Keywords predefinite" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "Parole chiave predefinite per gli articoli in questa categoria" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria Articoli" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "Categorie Articolo" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4087,65 +4090,65 @@ msgstr "Categorie Articolo" msgid "Parts" msgstr "Articoli" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "Scelta non valida per l'articolo principale" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "I successivi numeri di serie disponibili sono" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "Il prossimo numero di serie disponibile è" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "Il numero di serie più recente è" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "Nome articolo" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "È Template" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "Quest'articolo è un articolo di template?" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "Questa parte è una variante di un altro articolo?" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "Variante Di" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "Descrizione articolo" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "Parole Chiave" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4154,352 +4157,352 @@ msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" msgid "Category" msgstr "Categoria" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "IPN - Numero di riferimento interno" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "Numero Dell'articolo Interno" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "Numero di revisione o di versione" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "Revisione" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "Dove viene normalmente immagazzinato questo articolo?" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "Fornitore predefinito" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "Articolo fornitore predefinito" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "Scadenza Predefinita" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "Scadenza (in giorni) per gli articoli in giacenza di questo pezzo" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "Scorta Minima" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "Livello minimo di giacenza consentito" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "Unità di conservazione delle scorte per quest'articolo" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "Quest'articolo può essere acquistato da fornitori esterni?" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "Questo pezzo può essere venduto ai clienti?" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "Quest'articolo è attivo?" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "È una parte virtuale, come un prodotto software o una licenza?" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "Note dell'articolo - supporta la formattazione Markdown" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "Codice Articolo" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "" @@ -4668,7 +4671,7 @@ msgstr "Articoli (incluse le sottocategorie)" msgid "Create new part" msgstr "Crea nuovo articolo" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "Nuovo articolo" @@ -4816,7 +4819,7 @@ msgstr "Distinta base" msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "" @@ -4868,46 +4871,38 @@ msgstr "Componenti Produttori" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "Articoli correlati" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4969,20 +4964,20 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "Azioni Barcode" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "Mostra QR Code" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "Stampa Etichetta" @@ -4991,8 +4986,8 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "Azioni magazzino" @@ -5080,7 +5075,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "" @@ -5099,7 +5094,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "" @@ -5138,7 +5133,7 @@ msgid "Total Cost" msgstr "Costo Totale" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "" @@ -5257,7 +5252,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "" @@ -5367,80 +5362,80 @@ msgstr "Database sconosciuto" msgid "{title} v{version}" msgstr "" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "Imposta categoria articolo" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "Imposta categoria per {n} articoli" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "Elimina categoria" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "La Categoria articoli è stata eliminata" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "Crea Template Parametro Categoria" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "Modifica Modello Parametro Categoria" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "Elimina Modello Parametro Categoria" @@ -5518,35 +5513,43 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:29 +#: plugin/models.py:36 +msgid "Plugin Metadata" +msgstr "" + +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" +msgstr "" + +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:92 msgid "Key" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "" -#: plugin/models.py:44 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:50 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:123 +#: plugin/models.py:180 msgid "Plugin" msgstr "" -#: plugin/models.py:197 +#: plugin/models.py:254 msgid "Method" msgstr "" @@ -5590,35 +5593,35 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "" @@ -5627,87 +5630,87 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "" @@ -5724,7 +5727,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:667 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 @@ -5738,12 +5741,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2193 +#: stock/models.py:2190 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2199 +#: stock/models.py:2196 msgid "Result" msgstr "" @@ -5773,362 +5776,362 @@ msgstr "" msgid "Serial" msgstr "Seriale" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "La quantità è richiesta" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:762 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:763 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "Seleziona Owner" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:568 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:611 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:620 +#: stock/models.py:617 msgid "Base part" msgstr "Articolo base" -#: stock/models.py:628 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:634 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Ubicazione magazzino" -#: stock/models.py:637 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:644 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:650 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "Installato In" -#: stock/models.py:653 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:669 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "" -#: stock/models.py:683 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:688 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "Quantità disponibile" -#: stock/models.py:697 +#: stock/models.py:694 msgid "Source Build" msgstr "" -#: stock/models.py:699 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "" -#: stock/models.py:710 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:713 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:719 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:725 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "Data di Scadenza" -#: stock/models.py:726 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "Elimina al esaurimento" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:749 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:790 +#: stock/models.py:787 msgid "Converted to part" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1322 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1325 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1428 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1612 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2113 +#: stock/models.py:2110 msgid "Entry notes" msgstr "" -#: stock/models.py:2170 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2176 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2194 +#: stock/models.py:2191 msgid "Test name" msgstr "" -#: stock/models.py:2200 +#: stock/models.py:2197 msgid "Test result" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2203 msgid "Test output value" msgstr "" -#: stock/models.py:2213 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "" -#: stock/models.py:2219 +#: stock/models.py:2216 msgid "Test notes" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "Posizione magazzino di destinazione" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "Numeri di serie già esistenti" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "" @@ -6153,7 +6156,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" @@ -6177,194 +6180,198 @@ msgstr "" msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "Scansiona nella posizione" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "Conta giacenza" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "Aggiungi giacenza" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "Rimuovi giacenza" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "Trasferisci giacenza" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "pagina precedente" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "pagina successiva" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "Ultimo aggiornamento" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "Ultimo Inventario" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "Nessun inventario eseguito" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 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:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "Nessuna posizione impostata" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -6385,54 +6392,58 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "Articoli controllati" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "Azioni posizione" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "Modifica la posizione" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "Elimina la posizione" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "Crea nuova posizione di magazzino" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "Nuova Posizione" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "Posizione stock di livello superiore" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Non sei nell'elenco dei proprietari di questa posizione. Questa posizione di giacenza non può essere modificata." -#: stock/templates/stock/location.html:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sottoallocazioni" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "Posizioni magazzino" @@ -6485,7 +6496,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "" @@ -6510,55 +6521,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "QR Code della posizione magazzino" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "Specificare una posizione valida" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "Elimina Posizione di Giacenza" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "" @@ -6827,7 +6838,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" @@ -7276,9 +7287,9 @@ msgid "InvenTree Version Information" msgstr "Informazioni Versione InvenTree" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7518,15 +7529,15 @@ msgstr "" msgid "Add Attachment" msgstr "Aggiungi allegato" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "È necessario riavviare il server" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "È stata modificata un'impostazione che richiede un riavvio del server" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "Contatta l'amministratore per maggiori informazioni" @@ -7548,13 +7559,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "Quantità richiesta" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7590,11 +7601,11 @@ msgstr "Il server remoto deve essere accessibile" msgid "Remote image must not exceed maximum allowable file size" msgstr "L'immagine remota non deve superare la dimensione massima consentita del file" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "" @@ -7606,27 +7617,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "" @@ -7638,11 +7649,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7711,7 +7722,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "" @@ -7780,178 +7791,182 @@ msgstr "Controlla Nella Posizione" msgid "Barcode does not match a valid location" msgstr "Il codice a barre non corrisponde a una posizione valida" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "Formato" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "" @@ -8366,61 +8381,61 @@ msgstr "Cancella tutti i filtri" msgid "Create filter" msgstr "Crea filtro" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "Azione Vietata" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "Crea operazione non consentita" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "Operazione di aggiornamento non consentita" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "Operazione di eliminazione non consentita" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "Mostra operazione non consentita" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "Inserisci un numero valido" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "Nessun risultato trovato" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "Ricerca" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "Cancella input" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "" @@ -8478,78 +8493,78 @@ msgstr "Gli elementi disponibili devono essere selezionati prima di stampare le msgid "No labels found which match the selected part(s)" msgstr "Nessuna etichetta trovata che corrisponde agli elementi stock selezionati" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "elemento stock creato" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "Seleziona Modello Etichetta" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "Annulla" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "Invia" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "Titolo modulo" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "In attesa del server..." -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "Informazioni sull'errore" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "Accetta" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "Risposta dal server non valida" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "" @@ -9223,7 +9238,7 @@ msgstr "Prezzo Singolo" msgid "Single Price Difference" msgstr "" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "Il Plugin è stato installato" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index e87b5a9d07..befbb77039 100644 --- a/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/InvenTree/locale/ja/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-15 23:30+0000\n" -"PO-Revision-Date: 2022-05-16 01:10\n" +"POT-Creation-Date: 2022-05-16 14:52+0000\n" +"PO-Revision-Date: 2022-05-17 01:05\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -17,56 +17,56 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:53 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "APIエンドポイントが見つかりません" -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "日付を入力する" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "確認" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "削除の確認" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "削除の確認" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "パスワードを入力してください" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "新しいパスワードを入力してください。" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "パスワードの確認" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "新しいパスワードの確認" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "カテゴリの選択" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "メールアドレス(確認用)" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "メールアドレスの確認" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "毎回同じメールアドレスを入力する必要があります。" @@ -75,7 +75,7 @@ msgstr "毎回同じメールアドレスを入力する必要があります。 msgid "Duplicate serial: {sn}" msgstr "重複したシリアル番号: {sn}" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "数量コードが無効です" @@ -120,7 +120,7 @@ msgstr "ファイルがありません" msgid "Missing external link" msgstr "外部リンクが見つかりません。" -#: InvenTree/models.py:197 stock/models.py:2212 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "添付ファイル" @@ -129,16 +129,16 @@ msgstr "添付ファイル" msgid "Select file to attach" msgstr "添付ファイルを選択" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "リンク" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:677 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "外部 サイト へのリンク" @@ -150,10 +150,10 @@ msgstr "コメント:" msgid "File comment" msgstr "ファイルコメント" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 -#: common/models.py:1547 common/models.py:1778 common/models.py:1779 -#: common/models.py:2006 common/models.py:2007 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -192,9 +192,9 @@ msgstr "ファイル名の変更に失敗しました" msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:43 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -207,19 +207,19 @@ msgstr "無効な選択です" msgid "Name" msgstr "お名前" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 @@ -239,56 +239,56 @@ msgstr "説明 (オプション)" msgid "parent" msgstr "親" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "ファイル名" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "無効な値です。" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "データファイル" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "アップロードするファイルを選択" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "サポートされていないファイル形式" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "ファイルサイズが大きすぎます" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "ファイルに列が見つかりません" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "ファイルにデータ行がみつかりません" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "データが入力されていません" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "データ列が指定されていません" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "必須の列がありません: {name}" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "{col} 列が重複しています。" @@ -431,7 +431,7 @@ msgstr "紛失" msgid "Returned" msgstr "返品済" -#: InvenTree/status_codes.py:143 order/models.py:1068 +#: InvenTree/status_codes.py:143 order/models.py:1070 #: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "発送済み" @@ -584,42 +584,42 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "項目を削除" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "ユーザー情報を編集" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "パスワードを設定" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "システム情報" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -629,40 +629,41 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 -#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -673,10 +674,11 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 @@ -689,132 +691,132 @@ msgstr "" msgid "Part" msgstr "パーツ" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:249 build/serializers.py:794 +#: build/models.py:247 build/serializers.py:791 #: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" -#: build/models.py:253 +#: 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:258 +#: build/models.py:256 msgid "Destination Location" msgstr "" -#: build/models.py:262 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:681 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "" -#: build/models.py:294 order/models.py:134 part/models.py:1009 +#: build/models.py:292 order/models.py:136 part/models.py:1007 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "作成日時" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:675 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 #: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 #: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 #: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 @@ -822,62 +824,62 @@ msgstr "" msgid "Notes" msgstr "メモ" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1214 +#: build/models.py:1212 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "パーツを割り当てるためにビルドする" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 @@ -888,18 +890,18 @@ msgstr "パーツを割り当てるためにビルドする" msgid "Stock Item" msgstr "" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1589 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -907,13 +909,14 @@ msgstr "" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 @@ -928,87 +931,87 @@ msgstr "" msgid "Quantity" msgstr "数量" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 @@ -1020,13 +1023,13 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 #: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 @@ -1034,129 +1037,129 @@ msgstr "" msgid "Status" msgstr "ステータス" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "" @@ -1226,7 +1229,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 @@ -1259,13 +1262,13 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:297 #: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1301,7 +1304,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:990 +#: build/templates/build/detail.html:49 order/models.py:992 #: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1315,7 +1318,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1432,12 +1435,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1503,7 +1506,7 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "" @@ -1527,873 +1530,873 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "ファイル" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:401 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:403 +#: common/models.py:400 msgid "Settings value" msgstr "" -#: common/models.py:444 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:464 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:475 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "" -#: common/models.py:524 +#: common/models.py:521 msgid "Key string must be unique" msgstr "" -#: common/models.py:746 +#: common/models.py:743 msgid "No group" msgstr "" -#: common/models.py:788 +#: common/models.py:785 msgid "Restart required" msgstr "" -#: common/models.py:789 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:796 +#: common/models.py:793 msgid "Server Instance Name" msgstr "" -#: common/models.py:798 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:802 +#: common/models.py:799 msgid "Use instance name" msgstr "" -#: common/models.py:803 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:809 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:810 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:816 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "" -#: common/models.py:817 +#: common/models.py:814 msgid "Internal company name" msgstr "" -#: common/models.py:822 +#: common/models.py:819 msgid "Base URL" msgstr "" -#: common/models.py:823 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "" -#: common/models.py:829 +#: common/models.py:826 msgid "Default Currency" msgstr "" -#: common/models.py:830 +#: common/models.py:827 msgid "Default currency" msgstr "" -#: common/models.py:836 +#: common/models.py:833 msgid "Download from URL" msgstr "" -#: common/models.py:837 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:844 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:850 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:851 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:857 +#: common/models.py:854 msgid "IPN Regex" msgstr "" -#: common/models.py:858 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:869 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:870 +#: common/models.py:867 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:876 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:877 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:884 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:891 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:897 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:898 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:904 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "テンプレート" -#: common/models.py:905 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "アセンブリ" -#: common/models.py:912 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/models.py:918 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "コンポーネント" -#: common/models.py:919 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/models.py:925 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "購入可能" -#: common/models.py:926 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/models.py:932 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:933 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "パーツはデフォルトで販売可能です" -#: common/models.py:939 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "追跡可能" -#: common/models.py:940 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/models.py:946 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:947 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:953 +#: common/models.py:950 msgid "Show Import in Views" msgstr "" -#: common/models.py:954 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:960 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "" -#: common/models.py:961 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "" -#: common/models.py:972 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "" -#: common/models.py:973 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:984 +#: common/models.py:981 msgid "Show Price History" msgstr "" -#: common/models.py:985 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:991 +#: common/models.py:988 msgid "Show related parts" msgstr "" -#: common/models.py:992 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "" -#: common/models.py:998 +#: common/models.py:995 msgid "Create initial stock" msgstr "" -#: common/models.py:999 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1005 +#: common/models.py:1002 msgid "Internal Prices" msgstr "" -#: common/models.py:1006 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1012 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1013 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1019 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1020 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "" -#: common/models.py:1027 +#: common/models.py:1024 msgid "Enable Reports" msgstr "" -#: common/models.py:1028 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1034 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "デバッグモード" -#: common/models.py:1035 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1041 +#: common/models.py:1038 msgid "Page Size" msgstr "" -#: common/models.py:1042 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:1049 msgid "Test Reports" msgstr "" -#: common/models.py:1053 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1059 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "" -#: common/models.py:1060 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1065 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "" -#: common/models.py:1066 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1072 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1073 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1079 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1080 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1082 +#: common/models.py:1079 msgid "days" msgstr "" -#: common/models.py:1087 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1088 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1094 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1095 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1101 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1102 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1107 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1108 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1112 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1113 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1118 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1129 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1136 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1143 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1157 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1164 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1171 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1210 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1226 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1539 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1287 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1322 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1336 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1343 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1350 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1357 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1398 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1405 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1412 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1419 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1426 msgid "Search Categories" msgstr "" -#: common/models.py:1430 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1433 msgid "Search Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1440 msgid "Search Locations" msgstr "" -#: common/models.py:1444 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1447 msgid "Search Companies" msgstr "" -#: common/models.py:1451 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1458 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1465 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "" -#: common/models.py:1472 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1479 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1486 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1492 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1493 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1499 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1500 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1506 +#: common/models.py:1503 msgid "Date Format" msgstr "" -#: common/models.py:1507 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1521 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1522 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1590 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "" -#: common/models.py:1597 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1598 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1755 common/models.py:1892 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "" -#: common/models.py:1756 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1765 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "" -#: common/models.py:1770 part/models.py:988 plugin/models.py:49 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2401,216 +2404,216 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "" -#: common/models.py:1785 +#: common/models.py:1782 msgid "Token" msgstr "" -#: common/models.py:1786 +#: common/models.py:1783 msgid "Token for access" msgstr "" -#: common/models.py:1793 +#: common/models.py:1790 msgid "Secret" msgstr "" -#: common/models.py:1794 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1859 +#: common/models.py:1856 msgid "Message ID" msgstr "メッセージ ID:" -#: common/models.py:1860 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1868 +#: common/models.py:1865 msgid "Host" msgstr "" -#: common/models.py:1869 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1876 +#: common/models.py:1873 msgid "Header" msgstr "" -#: common/models.py:1877 +#: common/models.py:1874 msgid "Header of this message" msgstr "" -#: common/models.py:1883 +#: common/models.py:1880 msgid "Body" msgstr "" -#: common/models.py:1884 +#: common/models.py:1881 msgid "Body of this message" msgstr "" -#: common/models.py:1893 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1898 +#: common/models.py:1895 msgid "Worked on" msgstr "" -#: common/models.py:1899 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:619 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2618,11 +2621,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 @@ -2630,59 +2633,59 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "メーカー・パーツ" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2205 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 @@ -2690,66 +2693,66 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:97 +#: company/models.py:545 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:643 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "" @@ -2804,10 +2807,10 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:662 -#: stock/models.py:663 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 @@ -2956,7 +2959,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2989,7 +2992,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3004,8 +3007,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "" @@ -3028,7 +3031,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "" @@ -3057,8 +3060,8 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:627 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3084,12 +3087,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "" @@ -3143,11 +3146,11 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3171,54 +3174,54 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3226,486 +3229,486 @@ msgstr "" msgid "No valid objects provided to template" msgstr "" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:258 +#: label/models.py:255 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:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:256 order/templates/order/order_base.html:124 +#: order/models.py:258 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1155 +#: order/models.py:617 order/models.py:1157 #: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 #: templates/js/translated/order.js:2718 msgid "Order" msgstr "" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 +#: stock/templates/stock/item_base.html:342 #: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "" -#: order/models.py:976 order/templates/order/order_base.html:169 +#: order/models.py:978 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "" @@ -3825,7 +3828,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 @@ -3943,7 +3946,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "" @@ -3951,73 +3954,73 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "" -#: part/api.py:1037 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1041 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1056 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" @@ -4037,46 +4040,46 @@ msgstr "" msgid "On Order" msgstr "" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4087,65 +4090,65 @@ msgstr "" msgid "Parts" msgstr "パーツ" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4154,352 +4157,352 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "" @@ -4668,7 +4671,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "新規パーツ" @@ -4816,7 +4819,7 @@ msgstr "" msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "" @@ -4868,46 +4871,38 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4969,20 +4964,20 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "" @@ -4991,8 +4986,8 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "" @@ -5080,7 +5075,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "" @@ -5099,7 +5094,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "" @@ -5138,7 +5133,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "" @@ -5257,7 +5252,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "" @@ -5367,80 +5362,80 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "" @@ -5518,35 +5513,43 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:29 +#: plugin/models.py:36 +msgid "Plugin Metadata" +msgstr "" + +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" +msgstr "" + +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:92 msgid "Key" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "" -#: plugin/models.py:44 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:50 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:123 +#: plugin/models.py:180 msgid "Plugin" msgstr "" -#: plugin/models.py:197 +#: plugin/models.py:254 msgid "Method" msgstr "" @@ -5590,35 +5593,35 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "" @@ -5627,87 +5630,87 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "" @@ -5724,7 +5727,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:667 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 @@ -5738,12 +5741,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2193 +#: stock/models.py:2190 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2199 +#: stock/models.py:2196 msgid "Result" msgstr "" @@ -5773,362 +5776,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:762 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:763 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:568 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:611 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:620 +#: stock/models.py:617 msgid "Base part" msgstr "" -#: stock/models.py:628 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:634 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:637 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:644 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:650 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "" -#: stock/models.py:653 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:669 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "" -#: stock/models.py:683 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:688 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "" -#: stock/models.py:697 +#: stock/models.py:694 msgid "Source Build" msgstr "" -#: stock/models.py:699 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "" -#: stock/models.py:710 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:713 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:719 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:725 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:726 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:749 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:790 +#: stock/models.py:787 msgid "Converted to part" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1322 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1325 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1428 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1612 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2113 +#: stock/models.py:2110 msgid "Entry notes" msgstr "" -#: stock/models.py:2170 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2176 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2194 +#: stock/models.py:2191 msgid "Test name" msgstr "" -#: stock/models.py:2200 +#: stock/models.py:2197 msgid "Test result" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2203 msgid "Test output value" msgstr "" -#: stock/models.py:2213 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "" -#: stock/models.py:2219 +#: stock/models.py:2216 msgid "Test notes" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "" @@ -6153,7 +6156,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" @@ -6177,194 +6180,198 @@ msgstr "" msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 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:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -6385,54 +6392,58 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6485,7 +6496,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "" @@ -6510,55 +6521,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "" @@ -6827,7 +6838,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" @@ -7276,9 +7287,9 @@ msgid "InvenTree Version Information" msgstr "" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7518,15 +7529,15 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "" @@ -7548,13 +7559,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7590,11 +7601,11 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "" @@ -7606,27 +7617,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "" @@ -7638,11 +7649,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7711,7 +7722,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "" @@ -7780,178 +7791,182 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "" @@ -8366,61 +8381,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "" @@ -8478,78 +8493,78 @@ msgstr "" msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "" @@ -9223,7 +9238,7 @@ msgstr "" msgid "Single Price Difference" msgstr "" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index 0a64a999f5..5397134094 100644 --- a/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/InvenTree/locale/ko/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-15 23:30+0000\n" -"PO-Revision-Date: 2022-05-16 01:10\n" +"POT-Creation-Date: 2022-05-16 14:52+0000\n" +"PO-Revision-Date: 2022-05-17 01:05\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -17,56 +17,56 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:53 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "" -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "확인" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "비밀번호를 입력하세요" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "새로운 비밀번호를 입력하세요" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "비밀번호 확인" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "새 비밀번호 확인" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "이메일 (다시 입력)" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "이메일 주소 확인" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "" @@ -75,7 +75,7 @@ msgstr "" msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "" @@ -120,7 +120,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2212 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "첨부파일" @@ -129,16 +129,16 @@ msgstr "첨부파일" msgid "Select file to attach" msgstr "첨부할 파일을 선택하세요" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "링크" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:677 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "외부 URL로 링크" @@ -150,10 +150,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 -#: common/models.py:1547 common/models.py:1778 common/models.py:1779 -#: common/models.py:2006 common/models.py:2007 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -192,9 +192,9 @@ msgstr "파일 이름 바꾸기 오류" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:43 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -207,19 +207,19 @@ msgstr "" msgid "Name" msgstr "이름" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 @@ -239,56 +239,56 @@ msgstr "설명 (선택 사항)" msgid "parent" msgstr "" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "유효한 숫자여야 합니다" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "파일명" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "파일이 너무 큽니다" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -431,7 +431,7 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:143 order/models.py:1068 +#: InvenTree/status_codes.py:143 order/models.py:1070 #: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "" @@ -584,42 +584,42 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "사용자 정보 수정" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "비밀번호 설정" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "비밀번호가 일치해야 합니다" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "시스템 정보" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -629,40 +629,41 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 -#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -673,10 +674,11 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 @@ -689,132 +691,132 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:249 build/serializers.py:794 +#: build/models.py:247 build/serializers.py:791 #: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" -#: build/models.py:253 +#: 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:258 +#: build/models.py:256 msgid "Destination Location" msgstr "" -#: build/models.py:262 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:681 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "" -#: build/models.py:294 order/models.py:134 part/models.py:1009 +#: build/models.py:292 order/models.py:136 part/models.py:1007 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:675 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "외부 링크" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 #: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 #: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 #: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 @@ -822,62 +824,62 @@ msgstr "외부 링크" msgid "Notes" msgstr "" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1214 +#: build/models.py:1212 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 @@ -888,18 +890,18 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1589 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -907,13 +909,14 @@ msgstr "" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 @@ -928,87 +931,87 @@ msgstr "" msgid "Quantity" msgstr "수량" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "수량 값은 0보다 커야 합니다" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "일련번호" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 @@ -1020,13 +1023,13 @@ msgstr "" msgid "Location" msgstr "위치" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 #: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 @@ -1034,129 +1037,129 @@ msgstr "" msgid "Status" msgstr "상태" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "" @@ -1226,7 +1229,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 @@ -1259,13 +1262,13 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:297 #: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1301,7 +1304,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:990 +#: build/templates/build/detail.html:49 order/models.py:992 #: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1315,7 +1318,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1432,12 +1435,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1503,7 +1506,7 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "" @@ -1527,873 +1530,873 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "파일" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "업로드할 파일을 선택하세요" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "{name.title()} 파일" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "업로드할 {name} 파일을 선택하세요" -#: common/models.py:401 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:403 +#: common/models.py:400 msgid "Settings value" msgstr "" -#: common/models.py:444 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:464 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:475 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "" -#: common/models.py:524 +#: common/models.py:521 msgid "Key string must be unique" msgstr "" -#: common/models.py:746 +#: common/models.py:743 msgid "No group" msgstr "" -#: common/models.py:788 +#: common/models.py:785 msgid "Restart required" msgstr "재시작 필요" -#: common/models.py:789 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:796 +#: common/models.py:793 msgid "Server Instance Name" msgstr "" -#: common/models.py:798 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:802 +#: common/models.py:799 msgid "Use instance name" msgstr "" -#: common/models.py:803 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:809 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:810 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:816 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "회사명" -#: common/models.py:817 +#: common/models.py:814 msgid "Internal company name" msgstr "" -#: common/models.py:822 +#: common/models.py:819 msgid "Base URL" msgstr "" -#: common/models.py:823 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "" -#: common/models.py:829 +#: common/models.py:826 msgid "Default Currency" msgstr "기본 통화" -#: common/models.py:830 +#: common/models.py:827 msgid "Default currency" msgstr "기본 통화" -#: common/models.py:836 +#: common/models.py:833 msgid "Download from URL" msgstr "URL에서 다운로드" -#: common/models.py:837 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "바코드 지원" -#: common/models.py:844 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:850 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:851 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:857 +#: common/models.py:854 msgid "IPN Regex" msgstr "" -#: common/models.py:858 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:869 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:870 +#: common/models.py:867 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:876 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:877 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:884 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:891 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:897 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:898 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:904 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:905 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "" -#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:912 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:918 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:919 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:925 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "구입 가능" -#: common/models.py:926 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:932 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "판매 가능" -#: common/models.py:933 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "" -#: common/models.py:939 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:940 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:946 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:947 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:953 +#: common/models.py:950 msgid "Show Import in Views" msgstr "" -#: common/models.py:954 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:960 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "" -#: common/models.py:961 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "" -#: common/models.py:972 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "" -#: common/models.py:973 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:984 +#: common/models.py:981 msgid "Show Price History" msgstr "" -#: common/models.py:985 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:991 +#: common/models.py:988 msgid "Show related parts" msgstr "" -#: common/models.py:992 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "" -#: common/models.py:998 +#: common/models.py:995 msgid "Create initial stock" msgstr "" -#: common/models.py:999 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1005 +#: common/models.py:1002 msgid "Internal Prices" msgstr "" -#: common/models.py:1006 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1012 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1013 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1019 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1020 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "" -#: common/models.py:1027 +#: common/models.py:1024 msgid "Enable Reports" msgstr "" -#: common/models.py:1028 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1034 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "디버그 모드" -#: common/models.py:1035 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1041 +#: common/models.py:1038 msgid "Page Size" msgstr "페이지 크기" -#: common/models.py:1042 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "PDF 보고서 기본 페이지 크기" -#: common/models.py:1052 +#: common/models.py:1049 msgid "Test Reports" msgstr "" -#: common/models.py:1053 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1059 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "" -#: common/models.py:1060 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1065 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "" -#: common/models.py:1066 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1072 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1073 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1079 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1080 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1082 +#: common/models.py:1079 msgid "days" msgstr "" -#: common/models.py:1087 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1088 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1094 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1095 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1101 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1102 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1107 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1108 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1112 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1113 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1118 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1129 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1136 msgid "Enable SSO" msgstr "SSO 활성화" -#: common/models.py:1140 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "로그인 페이지에서 SSO 활성화" -#: common/models.py:1146 +#: common/models.py:1143 msgid "Email required" msgstr "이메일 필요" -#: common/models.py:1147 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1157 msgid "Mail twice" msgstr "두 번 보내기" -#: common/models.py:1161 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1164 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1171 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1210 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1226 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1539 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1287 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1322 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1336 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1343 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1350 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1357 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1398 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1405 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1412 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1419 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1426 msgid "Search Categories" msgstr "" -#: common/models.py:1430 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1433 msgid "Search Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1440 msgid "Search Locations" msgstr "" -#: common/models.py:1444 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1447 msgid "Search Companies" msgstr "" -#: common/models.py:1451 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1458 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1465 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "" -#: common/models.py:1472 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1479 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1486 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1492 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1493 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1499 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1500 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1506 +#: common/models.py:1503 msgid "Date Format" msgstr "" -#: common/models.py:1507 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1521 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1522 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1590 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "" -#: common/models.py:1597 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1598 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1755 common/models.py:1892 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "" -#: common/models.py:1756 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1765 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "" -#: common/models.py:1770 part/models.py:988 plugin/models.py:49 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2401,216 +2404,216 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "" -#: common/models.py:1785 +#: common/models.py:1782 msgid "Token" msgstr "" -#: common/models.py:1786 +#: common/models.py:1783 msgid "Token for access" msgstr "" -#: common/models.py:1793 +#: common/models.py:1790 msgid "Secret" msgstr "" -#: common/models.py:1794 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1859 +#: common/models.py:1856 msgid "Message ID" msgstr "" -#: common/models.py:1860 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1868 +#: common/models.py:1865 msgid "Host" msgstr "" -#: common/models.py:1869 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1876 +#: common/models.py:1873 msgid "Header" msgstr "" -#: common/models.py:1877 +#: common/models.py:1874 msgid "Header of this message" msgstr "" -#: common/models.py:1883 +#: common/models.py:1880 msgid "Body" msgstr "" -#: common/models.py:1884 +#: common/models.py:1881 msgid "Body of this message" msgstr "" -#: common/models.py:1893 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1898 +#: common/models.py:1895 msgid "Worked on" msgstr "" -#: common/models.py:1899 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "파일 업로드" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "이미지 URL" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "회사 소개" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "웹사이트" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "회사 웹사이트 URL" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "주소" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "회사 주소" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "전화번호" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "이메일" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "이미지" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:619 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2618,11 +2621,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 @@ -2630,59 +2633,59 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2205 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 @@ -2690,66 +2693,66 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:97 +#: company/models.py:545 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:643 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "" @@ -2804,10 +2807,10 @@ msgstr "새 이미지 업로드" msgid "Download image from URL" msgstr "URL에서 이미지 다운로드" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:662 -#: stock/models.py:663 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 @@ -2956,7 +2959,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2989,7 +2992,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3004,8 +3007,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "삭제" @@ -3028,7 +3031,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "" @@ -3057,8 +3060,8 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:627 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3084,12 +3087,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "" @@ -3143,11 +3146,11 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3171,54 +3174,54 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "신규 고객" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "새 회사" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "이미지 다운로드" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3226,486 +3229,486 @@ msgstr "" msgid "No valid objects provided to template" msgstr "" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "너비 [mm]" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "높이 [mm]" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:258 +#: label/models.py:255 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:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:256 order/templates/order/order_base.html:124 +#: order/models.py:258 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1155 +#: order/models.py:617 order/models.py:1157 #: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 #: templates/js/translated/order.js:2718 msgid "Order" msgstr "" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 +#: stock/templates/stock/item_base.html:342 #: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "" -#: order/models.py:976 order/templates/order/order_base.html:169 +#: order/models.py:978 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "바코드 해시" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "이미 사용 중인 바코드입니다" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "" @@ -3825,7 +3828,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 @@ -3943,7 +3946,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "" @@ -3951,73 +3954,73 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "" -#: part/api.py:1037 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1041 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1056 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" @@ -4037,46 +4040,46 @@ msgstr "" msgid "On Order" msgstr "" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4087,65 +4090,65 @@ msgstr "" msgid "Parts" msgstr "" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4154,352 +4157,352 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "데이터" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "" @@ -4668,7 +4671,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "" @@ -4816,7 +4819,7 @@ msgstr "부품 명세서" msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "" @@ -4868,46 +4871,38 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4969,20 +4964,20 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "QR 코드 보기" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "" @@ -4991,8 +4986,8 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "" @@ -5080,7 +5075,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "" @@ -5099,7 +5094,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "일련번호 검색" @@ -5138,7 +5133,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "" @@ -5257,7 +5252,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "" @@ -5367,80 +5362,80 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "" @@ -5518,35 +5513,43 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:29 +#: plugin/models.py:36 +msgid "Plugin Metadata" +msgstr "" + +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" +msgstr "" + +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:92 msgid "Key" msgstr "키" -#: plugin/models.py:36 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "" -#: plugin/models.py:44 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:50 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:123 +#: plugin/models.py:180 msgid "Plugin" msgstr "" -#: plugin/models.py:197 +#: plugin/models.py:254 msgid "Method" msgstr "" @@ -5590,35 +5593,35 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "" @@ -5627,87 +5630,87 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "" @@ -5724,7 +5727,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:667 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 @@ -5738,12 +5741,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2193 +#: stock/models.py:2190 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2199 +#: stock/models.py:2196 msgid "Result" msgstr "" @@ -5773,362 +5776,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:762 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:763 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:568 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:611 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:620 +#: stock/models.py:617 msgid "Base part" msgstr "" -#: stock/models.py:628 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:634 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:637 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:644 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:650 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "" -#: stock/models.py:653 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:669 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "" -#: stock/models.py:683 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:688 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "" -#: stock/models.py:697 +#: stock/models.py:694 msgid "Source Build" msgstr "" -#: stock/models.py:699 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "" -#: stock/models.py:710 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:713 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:719 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:725 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:726 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:749 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:790 +#: stock/models.py:787 msgid "Converted to part" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1322 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1325 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1428 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1612 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2113 +#: stock/models.py:2110 msgid "Entry notes" msgstr "" -#: stock/models.py:2170 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2176 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2194 +#: stock/models.py:2191 msgid "Test name" msgstr "" -#: stock/models.py:2200 +#: stock/models.py:2197 msgid "Test result" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2203 msgid "Test output value" msgstr "" -#: stock/models.py:2213 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "" -#: stock/models.py:2219 +#: stock/models.py:2216 msgid "Test notes" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "일련번호가 이미 존재합니다" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "" @@ -6153,7 +6156,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" @@ -6177,194 +6180,198 @@ msgstr "" msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 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:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -6385,54 +6392,58 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6485,7 +6496,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "" @@ -6510,55 +6521,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "" @@ -6827,7 +6838,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" @@ -7276,9 +7287,9 @@ msgid "InvenTree Version Information" msgstr "InvenTree 버전 정보" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7518,15 +7529,15 @@ msgstr "링크 추가" msgid "Add Attachment" msgstr "첨부파일 추가" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "서버 재시작 필요" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "" @@ -7548,13 +7559,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7590,11 +7601,11 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "" @@ -7606,27 +7617,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "" @@ -7638,11 +7649,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "오류 408: 시간 초과" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7711,7 +7722,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "" @@ -7780,178 +7791,182 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "" @@ -8366,61 +8381,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "" @@ -8478,78 +8493,78 @@ msgstr "" msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "취소" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "제출" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "" @@ -9223,7 +9238,7 @@ msgstr "" msgid "Single Price Difference" msgstr "" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index 4400f5c830..a9c307ca93 100644 --- a/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/InvenTree/locale/nl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-15 23:30+0000\n" -"PO-Revision-Date: 2022-05-16 01:10\n" +"POT-Creation-Date: 2022-05-16 14:52+0000\n" +"PO-Revision-Date: 2022-05-17 01:05\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -17,56 +17,56 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:53 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "API eindpunt niet gevonden" -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "Voer datum in" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "Bevestigen" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "Bevestig verwijdering" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "Bevestig item verwijdering" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "Voer wachtwoord in" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "Voer een nieuw wachtwoord in" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "Wachtwoord bevestigen" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "Nieuw wachtwoord bevestigen" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "Categorie selecteren" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "E-mailadres (opnieuw)" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "E-mailadres bevestiging" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "Er moet hetzelfde e-mailadres ingevoerd worden." @@ -75,7 +75,7 @@ msgstr "Er moet hetzelfde e-mailadres ingevoerd worden." msgid "Duplicate serial: {sn}" msgstr "Duplicaat serienummer: {sn}" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "Ongeldige hoeveelheid ingevoerd" @@ -120,7 +120,7 @@ msgstr "Ontbrekend bestand" msgid "Missing external link" msgstr "Externe link ontbreekt" -#: InvenTree/models.py:197 stock/models.py:2212 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "Bijlage" @@ -129,16 +129,16 @@ msgstr "Bijlage" msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "Link" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:677 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "Link naar externe URL" @@ -150,10 +150,10 @@ msgstr "Opmerking" msgid "File comment" msgstr "Bestand opmerking" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 -#: common/models.py:1547 common/models.py:1778 common/models.py:1779 -#: common/models.py:2006 common/models.py:2007 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -192,9 +192,9 @@ msgstr "Fout bij hernoemen bestand" msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:43 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -207,19 +207,19 @@ msgstr "Ongeldige keuze" msgid "Name" msgstr "Naam" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 @@ -239,56 +239,56 @@ msgstr "Omschrijving (optioneel)" msgid "parent" msgstr "bovenliggende" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "Bestandsnaam" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "Ongeldige waarde" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "Data bestand" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "Selecteer een bestand om te uploaden" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "Niet ondersteund bestandstype" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "Bestand is te groot" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "Geen kolommen gevonden in het bestand" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "Geen data rijen gevonden in dit bestand" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "Geen data rijen opgegeven" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "Geen gegevenskolommen opgegeven" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Verplichte kolom ontbreekt: '{name}'" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dubbele kolom: '{col}'" @@ -431,7 +431,7 @@ msgstr "Kwijt" msgid "Returned" msgstr "Retour" -#: InvenTree/status_codes.py:143 order/models.py:1068 +#: InvenTree/status_codes.py:143 order/models.py:1070 #: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "Verzonden" @@ -584,42 +584,42 @@ msgstr "Overschot mag niet groter zijn dan 100%" msgid "Invalid value for overage" msgstr "Ongeldige waarde voor overschot" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "Verwijder Artikel" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "Selectievakje aanvinken om verwijdering van artikel te bevestigen" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Gebruikersgegevens bewerken" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Wachtwoord instellen" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "Wachtwoordvelden komen niet overeen" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "Systeeminformatie" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "Ongeldige keuze voor bovenliggende productie" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "Productieopdracht" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -629,40 +629,41 @@ msgstr "Productieopdracht" msgid "Build Orders" msgstr "Productieopdrachten" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "Productieopdracht Referentie" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 -#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "Referentie" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "Korte beschrijving van de productie" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Bovenliggende Productie" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "Productieopdracht waar dit productie aan is toegewezen" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -673,10 +674,11 @@ msgstr "Productieopdracht waar dit productie aan is toegewezen" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 @@ -689,132 +691,132 @@ msgstr "Productieopdracht waar dit productie aan is toegewezen" msgid "Part" msgstr "Onderdeel" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "Selecteer onderdeel om te produceren" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "Verkooporder Referentie" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "Verkooporder waar deze productie aan is toegewezen" -#: build/models.py:249 build/serializers.py:794 +#: build/models.py:247 build/serializers.py:791 #: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "Bronlocatie" -#: build/models.py:253 +#: 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 productie vandaan moet komen (laat leeg om vanaf elke standaard locatie te nemen)" -#: build/models.py:258 +#: build/models.py:256 msgid "Destination Location" msgstr "Bestemmings Locatie" -#: build/models.py:262 +#: 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:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "Productiehoeveelheid" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "Aantal voorraaditems om te produceren" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "Voltooide voorraadartikelen" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "Aantal voorraadartikelen die zijn voltooid" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "Productiestatus" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "Productiestatuscode" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:681 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "Batchcode" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" -#: build/models.py:294 order/models.py:134 part/models.py:1009 +#: build/models.py:292 order/models.py:136 part/models.py:1007 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "Aanmaakdatum" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "Verwachte opleveringsdatum" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Doeldatum voor productie voltooiing. Productie zal achterstallig zijn na deze datum." -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "Opleveringsdatum" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "voltooid door" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "Uitgegeven door" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "Gebruiker die de productie-opdracht heeft gegeven" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "Verantwoordelijke" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "Gebruiker verantwoordelijk voor deze productieopdracht" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:675 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "Externe Link" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 #: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 #: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 #: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 @@ -822,62 +824,62 @@ msgstr "Externe Link" msgid "Notes" msgstr "Opmerkingen" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "Opmerkingen over de productie" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "Geen productie uitvoer opgegeven" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "Productie uitvoer is al voltooid" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "Product komt niet overeen met de Productieopdracht" -#: build/models.py:1214 +#: build/models.py:1212 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Productieartikel moet een productieuitvoer specificeren, omdat het hoofdonderdeel gemarkeerd is als traceerbaar" -#: build/models.py:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Toegewezen hoeveelheid ({q}) mag de beschikbare voorraad ({a}) niet overschrijden" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "Geselecteerd voorraadartikel niet gevonden in stuklijst" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "Product" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "Product om onderdelen toe te wijzen" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 @@ -888,18 +890,18 @@ msgstr "Product om onderdelen toe te wijzen" msgid "Stock Item" msgstr "Voorraadartikel" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "Bron voorraadartikel" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1589 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -907,13 +909,14 @@ msgstr "Bron voorraadartikel" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 @@ -928,87 +931,87 @@ msgstr "Bron voorraadartikel" msgid "Quantity" msgstr "Hoeveelheid" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "Voorraad hoeveelheid toe te wijzen aan productie" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "Installeren in" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "Bestemming voorraadartikel" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "Productieuitvoer" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "Productieuitvoer komt niet overeen met de bovenliggende productie" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "Uitvoeronderdeel komt niet overeen met productieorderonderdeel" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "Deze productieuitvoer is al voltooid" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "Deze productieuitvoer is niet volledig toegewezen" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "Voer hoeveelheid in voor productie uitvoer" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Geheel getal vereist omdat de stuklijst traceerbare onderdelen bevat" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "Serienummers" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "Voer serienummers in voor productieuitvoeren" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "Serienummers automatisch toewijzen" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "De volgende serienummers bestaan al" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "Een lijst van productieuitvoeren moet worden verstrekt" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 @@ -1020,13 +1023,13 @@ msgstr "Een lijst van productieuitvoeren moet worden verstrekt" msgid "Location" msgstr "Locatie" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "Locatie van voltooide productieuitvoeren" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 #: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 @@ -1034,129 +1037,129 @@ msgstr "Locatie van voltooide productieuitvoeren" msgid "Status" msgstr "Status" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "Incomplete Toewijzing Accepteren" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "Voltooi de uitvoer als de voorraad niet volledig is toegewezen" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "Toegewezen Voorraad Verwijderen" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "Verminder alle voorraad die al is toegewezen aan deze productie" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "Verwijder Incomplete Uitvoeren" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "Verwijder alle productieuitvoeren die niet zijn voltooid" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "Accepteer Niet-toegewezen" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accepteer dat voorraadartikelen niet volledig zijn toegewezen aan deze productieorder" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "Vereiste voorraad is niet volledig toegewezen" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "Accepteer Onvolledig" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "Accepteer dat het vereist aantal productieuitvoeren niet is voltooid" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "Vereiste productiehoeveelheid is voltooid" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "Productieorder heeft onvolledige uitvoeren" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "Er zijn geen productuitvoeren aangemaakt voor deze productieorder" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "Stuklijstartikel" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "Productieuitvoer" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "Productieuitvoer moet naar dezelfde productie wijzen" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part moet naar hetzelfde onderdeel wijzen als de productieorder" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "Artikel moet op voorraad zijn" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Beschikbare hoeveelheid ({q}) overschreden" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "Productieuitvoer moet worden opgegeven voor de toewijzing van gevolgde onderdelen" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Productieuitvoer kan niet worden gespecificeerd voor de toewijzing van niet gevolgde onderdelen" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "Dit voorraadartikel is al toegewezen aan deze productieoutput" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Voorraadlocatie waar onderdelen afkomstig zijn (laat leeg om van elke locatie te nemen)" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "Locatie uitsluiten" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "Voorraadartikelen van deze geselecteerde locatie uitsluiten" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "Uitwisselbare voorraad" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Voorraadartikelen op meerdere locaties kunnen uitwisselbaar worden gebruikt" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "Vervangende Voorraad" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "Toewijzing van vervangende onderdelen toestaan" @@ -1226,7 +1229,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Voorraad is niet volledig toegewezen aan deze productieopdracht" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 @@ -1259,13 +1262,13 @@ msgid "Completed" msgstr "Voltooid" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:297 #: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "Verkooporder" @@ -1301,7 +1304,7 @@ msgstr "Voorraadbron" msgid "Stock can be taken from any available location." msgstr "Voorraad kan worden genomen van elke beschikbare locatie." -#: build/templates/build/detail.html:49 order/models.py:990 +#: build/templates/build/detail.html:49 order/models.py:992 #: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "Bestemming" @@ -1315,7 +1318,7 @@ msgid "Allocated Parts" msgstr "Toegewezen Onderdelen" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1432,12 +1435,12 @@ msgid "Delete outputs" msgstr "Verwijder uitvoeren" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "Afdrukacties" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "Labels afdrukken" @@ -1503,7 +1506,7 @@ msgstr "Productieopdracht Details" msgid "Completed Outputs" msgstr "Voltooide Uitvoeren" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "Verwijder Productieopdracht" @@ -1527,873 +1530,873 @@ msgstr "Fout bij lezen bestand (onjuiste afmeting)" msgid "Error reading file (data could be corrupted)" msgstr "Fout bij lezen bestand (gegevens kunnen beschadigd zijn)" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "Bestand" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "Selecteer bestand om te uploaden" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "{name.title()} Bestand" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "Kies {name} bestand om te uploaden" -#: common/models.py:401 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig)" -#: common/models.py:403 +#: common/models.py:400 msgid "Settings value" msgstr "Instellingswaarde" -#: common/models.py:444 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "Gekozen waarde is geen geldige optie" -#: common/models.py:464 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "Waarde moet een booleaanse waarde zijn" -#: common/models.py:475 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "Waarde moet een geheel getal zijn" -#: common/models.py:524 +#: common/models.py:521 msgid "Key string must be unique" msgstr "Sleutelreeks moet uniek zijn" -#: common/models.py:746 +#: common/models.py:743 msgid "No group" msgstr "Geen groep" -#: common/models.py:788 +#: common/models.py:785 msgid "Restart required" msgstr "Opnieuw opstarten vereist" -#: common/models.py:789 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "Een instelling is gewijzigd waarvoor een herstart van de server vereist is" -#: common/models.py:796 +#: common/models.py:793 msgid "Server Instance Name" msgstr "ID Serverinstantie" -#: common/models.py:798 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "Stringbeschrijving voor de server instantie" -#: common/models.py:802 +#: common/models.py:799 msgid "Use instance name" msgstr "Gebruik de instantie naam" -#: common/models.py:803 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "Gebruik de naam van de instantie in de titelbalk" -#: common/models.py:809 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "Tonen `over` beperken" -#: common/models.py:810 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:816 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "Bedrijfsnaam" -#: common/models.py:817 +#: common/models.py:814 msgid "Internal company name" msgstr "Interne bedrijfsnaam" -#: common/models.py:822 +#: common/models.py:819 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:823 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "Basis URL voor serverinstantie" -#: common/models.py:829 +#: common/models.py:826 msgid "Default Currency" msgstr "Standaard Valuta" -#: common/models.py:830 +#: common/models.py:827 msgid "Default currency" msgstr "Standaard valuta" -#: common/models.py:836 +#: common/models.py:833 msgid "Download from URL" msgstr "Download van URL" -#: common/models.py:837 +#: common/models.py:834 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:843 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Streepjescodeondersteuning" -#: common/models.py:844 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "Streepjescodescanner ondersteuning inschakelen" -#: common/models.py:850 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:851 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:857 +#: common/models.py:854 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:858 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulier expressiepatroon voor het overeenkomende Onderdeel IPN" -#: common/models.py:862 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "Duplicaat IPN toestaan" -#: common/models.py:863 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "Toestaan dat meerdere onderdelen dezelfde IPN gebruiken" -#: common/models.py:869 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "Bewerken IPN toestaan" -#: common/models.py:870 +#: common/models.py:867 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:876 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "Kopieer Onderdeel Stuklijstgegevens" -#: common/models.py:877 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "Kopieer standaard stuklijstgegevens bij het dupliceren van een onderdeel" -#: common/models.py:883 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "Kopieer Onderdeel Parametergegevens" -#: common/models.py:884 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "Parametergegevens standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:890 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "Kopieer Onderdeel Testdata" -#: common/models.py:891 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "Testdata standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:897 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "Kopiëer Categorieparameter Sjablonen" -#: common/models.py:898 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" -#: common/models.py:904 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Sjabloon" -#: common/models.py:905 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "Onderdelen zijn standaard sjablonen" -#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Samenstelling" -#: common/models.py:912 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/models.py:918 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Component" -#: common/models.py:919 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten" -#: common/models.py:925 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "Koopbaar" -#: common/models.py:926 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/models.py:932 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Verkoopbaar" -#: common/models.py:933 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "Onderdelen kunnen standaard verkocht worden" -#: common/models.py:939 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Volgbaar" -#: common/models.py:940 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "Onderdelen kunnen standaard gevolgd worden" -#: common/models.py:946 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtueel" -#: common/models.py:947 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "Onderdelen zijn standaard virtueel" -#: common/models.py:953 +#: common/models.py:950 msgid "Show Import in Views" msgstr "Toon Import in Weergaven" -#: common/models.py:954 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "Toon de importwizard in sommige onderdelenweergaven" -#: common/models.py:960 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "Toon Prijs in Formulieren" -#: common/models.py:961 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "Toon onderdeelprijs in sommige formulieren" -#: common/models.py:972 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "Prijs in Stuklijst Weergeven" -#: common/models.py:973 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "Prijsinformatie in Stuklijsttabellen opnemen" -#: common/models.py:984 +#: common/models.py:981 msgid "Show Price History" msgstr "Toon Prijsgeschiedenis" -#: common/models.py:985 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "Toon historische prijzen voor Onderdeel" -#: common/models.py:991 +#: common/models.py:988 msgid "Show related parts" msgstr "Verwante onderdelen tonen" -#: common/models.py:992 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "Verwante onderdelen voor een onderdeel tonen" -#: common/models.py:998 +#: common/models.py:995 msgid "Create initial stock" msgstr "Eerste voorraad aanmaken" -#: common/models.py:999 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "Aanmaken eerste voorraad bij het maken van onderdeel" -#: common/models.py:1005 +#: common/models.py:1002 msgid "Internal Prices" msgstr "Interne Prijzen" -#: common/models.py:1006 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "Inschakelen van interne prijzen voor onderdelen" -#: common/models.py:1012 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "Interne Prijs als Stuklijst Prijs" -#: common/models.py:1013 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "Gebruik de interne prijs (indien ingesteld) in stuklijst prijsberekeningen" -#: common/models.py:1019 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "Onderdelennaam Weergaveopmaak" -#: common/models.py:1020 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "Opmaak om de onderdeelnaam weer te geven" -#: common/models.py:1027 +#: common/models.py:1024 msgid "Enable Reports" msgstr "Activeer Rapportages" -#: common/models.py:1028 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "Activeer het genereren van rapporten" -#: common/models.py:1034 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "Foutopsporingsmodus" -#: common/models.py:1035 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "Rapporten genereren in debug modus (HTML uitvoer)" -#: common/models.py:1041 +#: common/models.py:1038 msgid "Page Size" msgstr "Paginagrootte" -#: common/models.py:1042 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "Standaard paginagrootte voor PDF rapporten" -#: common/models.py:1052 +#: common/models.py:1049 msgid "Test Reports" msgstr "Testrapporten" -#: common/models.py:1053 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "Activeer het genereren van testrapporten" -#: common/models.py:1059 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "Batchcode Sjabloon" -#: common/models.py:1060 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen" -#: common/models.py:1065 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "Verlopen Voorraad" -#: common/models.py:1066 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "Verlopen voorraad functionaliteit inschakelen" -#: common/models.py:1072 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "Verkoop Verlopen Voorraad" -#: common/models.py:1073 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "Verkoop verlopen voorraad toestaan" -#: common/models.py:1079 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "Voorraad Vervaltijd" -#: common/models.py:1080 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1082 +#: common/models.py:1079 msgid "days" msgstr "dagen" -#: common/models.py:1087 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1088 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1094 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1095 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1101 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1102 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1107 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1108 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1112 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1113 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1118 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1129 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1136 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1143 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1157 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1164 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1171 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1210 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1226 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1539 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" -#: common/models.py:1276 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1287 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1322 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1336 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1343 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1350 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1357 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1398 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1405 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1412 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1419 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1426 msgid "Search Categories" msgstr "" -#: common/models.py:1430 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1433 msgid "Search Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1440 msgid "Search Locations" msgstr "" -#: common/models.py:1444 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1447 msgid "Search Companies" msgstr "" -#: common/models.py:1451 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1458 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1465 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "" -#: common/models.py:1472 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1479 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1486 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1492 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1493 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1499 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1500 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1506 +#: common/models.py:1503 msgid "Date Format" msgstr "" -#: common/models.py:1507 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1521 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1522 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1590 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "" -#: common/models.py:1597 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1598 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1755 common/models.py:1892 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "" -#: common/models.py:1756 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1765 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "" -#: common/models.py:1770 part/models.py:988 plugin/models.py:49 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2401,216 +2404,216 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "" -#: common/models.py:1785 +#: common/models.py:1782 msgid "Token" msgstr "" -#: common/models.py:1786 +#: common/models.py:1783 msgid "Token for access" msgstr "" -#: common/models.py:1793 +#: common/models.py:1790 msgid "Secret" msgstr "" -#: common/models.py:1794 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1859 +#: common/models.py:1856 msgid "Message ID" msgstr "" -#: common/models.py:1860 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1868 +#: common/models.py:1865 msgid "Host" msgstr "" -#: common/models.py:1869 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1876 +#: common/models.py:1873 msgid "Header" msgstr "" -#: common/models.py:1877 +#: common/models.py:1874 msgid "Header of this message" msgstr "" -#: common/models.py:1883 +#: common/models.py:1880 msgid "Body" msgstr "" -#: common/models.py:1884 +#: common/models.py:1881 msgid "Body of this message" msgstr "" -#: common/models.py:1893 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1898 +#: common/models.py:1895 msgid "Worked on" msgstr "" -#: common/models.py:1899 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "Contact e-mailadres" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "Link naar externe bedrijfsinformatie" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "Afbeelding" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "is leverancier" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "is fabrikant" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "Fabriceert dit bedrijf onderdelen?" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:619 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2618,11 +2621,11 @@ msgstr "" msgid "Manufacturer" msgstr "Fabrikant" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "Fabrikant selecteren" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 @@ -2630,59 +2633,59 @@ msgstr "Fabrikant selecteren" msgid "MPN" msgstr "" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "Fabrikant artikel nummer (MPN)" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "URL voor externe link van het fabrikant onderdeel" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "Omschrijving onderdeel fabrikant" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "Fabrikant onderdeel" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2205 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "Waarde" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "Parameterwaarde" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "Eenheden" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 @@ -2690,66 +2693,66 @@ msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderd msgid "Supplier" msgstr "Leverancier" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "Leverancier selecteren" -#: company/models.py:548 company/templates/company/supplier_part.html:97 +#: company/models.py:545 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "Selecteer fabrikant onderdeel" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "Opmerking" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "basisprijs" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:643 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "" @@ -2804,10 +2807,10 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:662 -#: stock/models.py:663 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 @@ -2956,7 +2959,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2989,7 +2992,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3004,8 +3007,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "" @@ -3028,7 +3031,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "" @@ -3057,8 +3060,8 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:627 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3084,12 +3087,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "" @@ -3143,11 +3146,11 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3171,54 +3174,54 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "Nieuwe fabrikant" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3226,486 +3229,486 @@ msgstr "" msgid "No valid objects provided to template" msgstr "" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:258 +#: label/models.py:255 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:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:256 order/templates/order/order_base.html:124 +#: order/models.py:258 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1155 +#: order/models.py:617 order/models.py:1157 #: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 #: templates/js/translated/order.js:2718 msgid "Order" msgstr "" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 +#: stock/templates/stock/item_base.html:342 #: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "" -#: order/models.py:976 order/templates/order/order_base.html:169 +#: order/models.py:978 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "" @@ -3825,7 +3828,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 @@ -3943,7 +3946,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "" @@ -3951,73 +3954,73 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "" -#: part/api.py:1037 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1041 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1056 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "Standaard locatie" @@ -4037,46 +4040,46 @@ msgstr "" msgid "On Order" msgstr "" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "Standaard locatie voor onderdelen in deze categorie" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4087,65 +4090,65 @@ msgstr "" msgid "Parts" msgstr "" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4154,352 +4157,352 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "" @@ -4668,7 +4671,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "" @@ -4816,7 +4819,7 @@ msgstr "" msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "" @@ -4868,46 +4871,38 @@ msgstr "Onderdeelfabrikanten" msgid "Delete manufacturer parts" msgstr "Fabrikantonderdeel verwijderen" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4969,20 +4964,20 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "QR-code weergeven" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "Label afdrukken" @@ -4991,8 +4986,8 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "Voorraad acties" @@ -5080,7 +5075,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "" @@ -5099,7 +5094,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "" @@ -5138,7 +5133,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "" @@ -5257,7 +5252,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "" @@ -5367,80 +5362,80 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "" @@ -5518,35 +5513,43 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:29 +#: plugin/models.py:36 +msgid "Plugin Metadata" +msgstr "" + +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" +msgstr "" + +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:92 msgid "Key" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "" -#: plugin/models.py:44 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:50 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:123 +#: plugin/models.py:180 msgid "Plugin" msgstr "" -#: plugin/models.py:197 +#: plugin/models.py:254 msgid "Method" msgstr "" @@ -5590,35 +5593,35 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "" @@ -5627,87 +5630,87 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "" @@ -5724,7 +5727,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:667 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 @@ -5738,12 +5741,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2193 +#: stock/models.py:2190 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2199 +#: stock/models.py:2196 msgid "Result" msgstr "" @@ -5773,362 +5776,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:762 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:763 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:568 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:611 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:620 +#: stock/models.py:617 msgid "Base part" msgstr "" -#: stock/models.py:628 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:634 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Voorraadlocatie" -#: stock/models.py:637 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:644 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:650 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "" -#: stock/models.py:653 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:669 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "" -#: stock/models.py:683 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:688 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "" -#: stock/models.py:697 +#: stock/models.py:694 msgid "Source Build" msgstr "" -#: stock/models.py:699 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "" -#: stock/models.py:710 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:713 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:719 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:725 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:726 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:749 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:790 +#: stock/models.py:787 msgid "Converted to part" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1322 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1325 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1428 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1612 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2113 +#: stock/models.py:2110 msgid "Entry notes" msgstr "" -#: stock/models.py:2170 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2176 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2194 +#: stock/models.py:2191 msgid "Test name" msgstr "" -#: stock/models.py:2200 +#: stock/models.py:2197 msgid "Test result" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2203 msgid "Test output value" msgstr "" -#: stock/models.py:2213 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "" -#: stock/models.py:2219 +#: stock/models.py:2216 msgid "Test notes" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "" @@ -6153,7 +6156,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" @@ -6177,194 +6180,198 @@ msgstr "" msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "Scan naar Locatie" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "Voorraad tellen" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "Voorraad overzetten" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 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:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "Geen locatie ingesteld" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "Geen fabrikant geselecteerd" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -6385,54 +6392,58 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "Locatie acties" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "Bewerk locatie" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "Verwijder locatie" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "Maak nieuwe voorraadlocatie" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "Nieuwe Locatie" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 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:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sublocaties" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "Voorraadlocaties" @@ -6485,7 +6496,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "" @@ -6510,55 +6521,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "QR-code voor Voorraadlocatie" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "Specificeer een geldige locatie" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "Verwijder Voorraadlocatie" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "" @@ -6827,7 +6838,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" @@ -7276,9 +7287,9 @@ msgid "InvenTree Version Information" msgstr "" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7518,15 +7529,15 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "" @@ -7548,13 +7559,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7590,11 +7601,11 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "" @@ -7606,27 +7617,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "" @@ -7638,11 +7649,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7711,7 +7722,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "" @@ -7780,178 +7791,182 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "Voeg Fabrikantgegevens toe" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "Voeg onderdeelfabrikantgegevens toe aan geëxporteerde stuklijst" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "" @@ -8366,61 +8381,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "" @@ -8478,78 +8493,78 @@ msgstr "" msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "" @@ -9223,7 +9238,7 @@ msgstr "" msgid "Single Price Difference" msgstr "" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index c8e130f97c..cdfab580d3 100644 --- a/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/InvenTree/locale/no/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-15 23:30+0000\n" -"PO-Revision-Date: 2022-05-16 01:10\n" +"POT-Creation-Date: 2022-05-16 14:52+0000\n" +"PO-Revision-Date: 2022-05-17 01:05\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -17,56 +17,56 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:53 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "API endepunkt ikke funnet" -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "Oppgi dato" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "Bekreft" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "Bekreft sletting" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "Bekfret sletting av element" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "Oppgi passord" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "Oppgi nytt passord" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "Bekreft passord" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "Bekreft nytt passord" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "Velg kategori" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "E-post (gjenta)" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "Bekreftelsen på e-postaddresse" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "Du må angi samme e-post hver gang." @@ -75,7 +75,7 @@ msgstr "Du må angi samme e-post hver gang." msgid "Duplicate serial: {sn}" msgstr "Dupliser serie: {sn}" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "Ugyldig mengde oppgitt" @@ -120,7 +120,7 @@ msgstr "Fil mangler" msgid "Missing external link" msgstr "Mangler eksternlenke" -#: InvenTree/models.py:197 stock/models.py:2212 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "Vedlegg" @@ -129,16 +129,16 @@ msgstr "Vedlegg" msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "Lenke" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:677 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "Lenke til ekstern URL" @@ -150,10 +150,10 @@ msgstr "Kommenter" msgid "File comment" msgstr "Kommentar til fil" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 -#: common/models.py:1547 common/models.py:1778 common/models.py:1779 -#: common/models.py:2006 common/models.py:2007 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -192,9 +192,9 @@ msgstr "Feil ved endring av navn" msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:43 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -207,19 +207,19 @@ msgstr "Ugyldig valg" msgid "Name" msgstr "Navn" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 @@ -239,56 +239,56 @@ msgstr "Beskrivelse (valgfritt)" msgid "parent" msgstr "overkategori" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "Nummer må være gyldig" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "Filnavn" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "Ugyldig verdi" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "Data fil" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "Velg datafil for opplasting" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "Filtypen støttes ikke" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "Filen er for stor" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "Ingen kolonner funnet i filen" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "Ingen datalader funnet i fil" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "Ingen datalader oppgitt" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "Ingen datakolonner angitt" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Mangler påkrevd kolonne: '{name}'" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dupliser kolonne: '{col}'" @@ -431,7 +431,7 @@ msgstr "Tapt" msgid "Returned" msgstr "Returnert" -#: InvenTree/status_codes.py:143 order/models.py:1068 +#: InvenTree/status_codes.py:143 order/models.py:1070 #: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "Sendt" @@ -584,42 +584,42 @@ msgstr "Overde må ikke overstige 100%" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "Slett element" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "Kryss av i boksen for å bekrefte sletting av element" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Rediger brukerinformasjon" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Velg passord" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "Passordfeltene må samsvare" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "Systeminformasjon" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "Ugylding valg for overordnet build" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "Build ordre" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -629,40 +629,41 @@ msgstr "Build ordre" msgid "Build Orders" msgstr "Build Ordre" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "Bygg ordrereferanse" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 -#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "Referanse" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "Kort beskrivelse av build" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Overordnet build" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "Build order som denne build er tildelt til" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -673,10 +674,11 @@ msgstr "Build order som denne build er tildelt til" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 @@ -689,132 +691,132 @@ msgstr "Build order som denne build er tildelt til" msgid "Part" msgstr "Del" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "Valg del å bygge" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "Salg order referanse" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "Salgorder som denne build er tildelt til" -#: build/models.py:249 build/serializers.py:794 +#: build/models.py:247 build/serializers.py:791 #: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "Kilde plassering" -#: build/models.py:253 +#: build/models.py:251 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Valg sted for å ta lagervare fra for dette prosjektet (la stå tomt for a ta fra hvilken som helst sted)" -#: build/models.py:258 +#: build/models.py:256 msgid "Destination Location" msgstr "Sted for destinasjon" -#: build/models.py:262 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "Velg sted hvor fulførte elementer vil bli lagret" -#: build/models.py:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "Prosjekt mengde" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "Antall lagervare til prosjektet" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "Fullførte elementer" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "Antall lagervarer som er fullført" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "Byggstatus" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "Byggstatuskode" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:681 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "Batch kode" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "Batch kode for denne build output" -#: build/models.py:294 order/models.py:134 part/models.py:1009 +#: build/models.py:292 order/models.py:136 part/models.py:1007 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "Opprettelsesdato" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "Forventet sluttdato" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Forventet dato for ferdigstillelse. Build er forvalt etter denne datoen." -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "Fullført dato" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "fullført av" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "Utstedt av" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "Brukeren som utstede denne prosjekt order" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "Ansvarlig" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "Bruker ansvarlig for denne prosjekt order" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:675 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "Ekstern link" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 #: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 #: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 #: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 @@ -822,62 +824,62 @@ msgstr "Ekstern link" msgid "Notes" msgstr "Notater" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "Ekstra prosjekt notater" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "Ingen prosjekt utgang" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "Prosjekt utdata er allerede utfylt" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "Prosjekt utdata samsvarer ikke Prosjekt Order" -#: build/models.py:1214 +#: build/models.py:1212 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Prosjektvare må spesifisere en prosjekt utdata, siden hovedvaren er markert som sporbar" -#: build/models.py:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "Lagervare er overtildelt" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "Tildeling antallet må være større enn null" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "Mengden må væew 1 for serialisert lagervare" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "Valgt lagevare ikke funnet i BOM" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "Prosjekt" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "Bygge for å tildele deler" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 @@ -888,18 +890,18 @@ msgstr "Bygge for å tildele deler" msgid "Stock Item" msgstr "Lagervare" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "Kilde lagervare" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1589 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -907,13 +909,14 @@ msgstr "Kilde lagervare" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 @@ -928,87 +931,87 @@ msgstr "Kilde lagervare" msgid "Quantity" msgstr "Antall" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "Installerings informasjon" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "Målets lagervare" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "Angi antall for build utgang" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "Serienummer" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "Angi serienummer for bygge-utganger" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 @@ -1020,13 +1023,13 @@ msgstr "" msgid "Location" msgstr "Beliggenhet" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 #: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 @@ -1034,129 +1037,129 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "Påkrevd varer er ikke fullt tildelt" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "BOM varer" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "Varen må være på lager" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Tilgjengelig mengde ({q}) overskredet" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "" @@ -1226,7 +1229,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 @@ -1259,13 +1262,13 @@ msgid "Completed" msgstr "Fullført" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:297 #: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "Salgsorder" @@ -1301,7 +1304,7 @@ msgstr "Lager kilde" msgid "Stock can be taken from any available location." msgstr "Lagervare kan hentes fra alle tilgengelige steder." -#: build/templates/build/detail.html:49 order/models.py:990 +#: build/templates/build/detail.html:49 order/models.py:992 #: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "Destinasjon" @@ -1315,7 +1318,7 @@ msgid "Allocated Parts" msgstr "Tildelte deler" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1432,12 +1435,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1503,7 +1506,7 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "" @@ -1527,873 +1530,873 @@ msgstr "Feil under lesing av fil (feil dimensjon)" msgid "Error reading file (data could be corrupted)" msgstr "Feil under lesing av fil (data kan være skadet)" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "Fil" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "Velg fil å laste opp" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "Velg {name} fil som skal lastes opp" -#: common/models.py:401 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "Innstillingsnøkkel (må være unik - ufølsom for store of små bokstaver)" -#: common/models.py:403 +#: common/models.py:400 msgid "Settings value" msgstr "" -#: common/models.py:444 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "Valgt verdi er ikke et gyldig alternativ" -#: common/models.py:464 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "Verdien må være en boolsk verdi" -#: common/models.py:475 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "" -#: common/models.py:524 +#: common/models.py:521 msgid "Key string must be unique" msgstr "" -#: common/models.py:746 +#: common/models.py:743 msgid "No group" msgstr "Ingen gruppe" -#: common/models.py:788 +#: common/models.py:785 msgid "Restart required" msgstr "Omstart påkrevd" -#: common/models.py:789 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "En innstilling har blitt endrett som krever en serveromstart" -#: common/models.py:796 +#: common/models.py:793 msgid "Server Instance Name" msgstr "" -#: common/models.py:798 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:802 +#: common/models.py:799 msgid "Use instance name" msgstr "" -#: common/models.py:803 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:809 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:810 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:816 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "Firmanavn" -#: common/models.py:817 +#: common/models.py:814 msgid "Internal company name" msgstr "Internt firmanavn" -#: common/models.py:822 +#: common/models.py:819 msgid "Base URL" msgstr "" -#: common/models.py:823 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "" -#: common/models.py:829 +#: common/models.py:826 msgid "Default Currency" msgstr "Standardvaluta" -#: common/models.py:830 +#: common/models.py:827 msgid "Default currency" msgstr "Standardvaluta" -#: common/models.py:836 +#: common/models.py:833 msgid "Download from URL" msgstr "Last ned fra URL" -#: common/models.py:837 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "Tilat nedlastning av eksterne bilder og filer fra ekstern URL" -#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Strekkode støtte" -#: common/models.py:844 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "Aktiver skrekkodeleser støtte" -#: common/models.py:850 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:851 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:857 +#: common/models.py:854 msgid "IPN Regex" msgstr "" -#: common/models.py:858 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "Tilat duplisert IPN" -#: common/models.py:863 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "Tillat flere deler å dele samme IPN" -#: common/models.py:869 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "Tillat redigering av IPN" -#: common/models.py:870 +#: common/models.py:867 msgid "Allow changing the IPN value while editing a part" msgstr "Tillat å endre IPN-verdien mens du redigerer en del" -#: common/models.py:876 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:877 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:884 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:891 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "Kopier testdata som standard ved duplisering av en del" -#: common/models.py:897 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:898 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "Kopier kategori parametermaler ved oppretting av en del" -#: common/models.py:904 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Mal" -#: common/models.py:905 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "Deler er maler som standard" -#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Montering" -#: common/models.py:912 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/models.py:918 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Komponent" -#: common/models.py:919 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "Deler kan bli brukt som underkomponenter som standard" -#: common/models.py:925 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "Kjøpbar" -#: common/models.py:926 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/models.py:932 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Salgbar" -#: common/models.py:933 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "Deler er salgbare som standard" -#: common/models.py:939 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Sporbar" -#: common/models.py:940 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "Deler er sporbare som standard" -#: common/models.py:946 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:947 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "Deler er virtuelle som standard" -#: common/models.py:953 +#: common/models.py:950 msgid "Show Import in Views" msgstr "Vis import i visninger" -#: common/models.py:954 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "Vis importveiviseren i noen deler visninger" -#: common/models.py:960 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "Vis pris i skjemaer" -#: common/models.py:961 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "Vis delpris i noen skjemaer" -#: common/models.py:972 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "" -#: common/models.py:973 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:984 +#: common/models.py:981 msgid "Show Price History" msgstr "" -#: common/models.py:985 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:991 +#: common/models.py:988 msgid "Show related parts" msgstr "" -#: common/models.py:992 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "" -#: common/models.py:998 +#: common/models.py:995 msgid "Create initial stock" msgstr "" -#: common/models.py:999 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1005 +#: common/models.py:1002 msgid "Internal Prices" msgstr "" -#: common/models.py:1006 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1012 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1013 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1019 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1020 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "" -#: common/models.py:1027 +#: common/models.py:1024 msgid "Enable Reports" msgstr "" -#: common/models.py:1028 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1034 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1035 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1041 +#: common/models.py:1038 msgid "Page Size" msgstr "" -#: common/models.py:1042 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:1049 msgid "Test Reports" msgstr "" -#: common/models.py:1053 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1059 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "" -#: common/models.py:1060 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1065 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "" -#: common/models.py:1066 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1072 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1073 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1079 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1080 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1082 +#: common/models.py:1079 msgid "days" msgstr "" -#: common/models.py:1087 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1088 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1094 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1095 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1101 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1102 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1107 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1108 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1112 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "Salgsorder referanse prefiks" -#: common/models.py:1113 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "Prefiks verdi for salgsorder referanse" -#: common/models.py:1118 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "Salgsorder referanse prefiks" -#: common/models.py:1119 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "Prefiks verdi for salgsorder referanse" -#: common/models.py:1125 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "Aktiver passord glemt" -#: common/models.py:1126 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "Ativer funskjon for glemt passord på innloggingssidene" -#: common/models.py:1132 +#: common/models.py:1129 msgid "Enable registration" msgstr "Aktiver registrering" -#: common/models.py:1133 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene" -#: common/models.py:1139 +#: common/models.py:1136 msgid "Enable SSO" msgstr "Aktiver SSO" -#: common/models.py:1140 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "Aktiver SSO på innloggingssidene" -#: common/models.py:1146 +#: common/models.py:1143 msgid "Email required" msgstr "E-postadresse kreves" -#: common/models.py:1147 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "Krevt at brukeren angi e-post ved registrering" -#: common/models.py:1153 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "Auto-utfyll SSO brukere" -#: common/models.py:1154 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "Fyll automatisk ut brukeropplysninger fra SSO kontodata" -#: common/models.py:1160 +#: common/models.py:1157 msgid "Mail twice" msgstr "E-post to ganger" -#: common/models.py:1161 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "Ved registrering spør brukere to ganger for e-posten" -#: common/models.py:1167 +#: common/models.py:1164 msgid "Password twice" msgstr "Passord to ganger" -#: common/models.py:1168 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "Ved registrerting, spør brukere to ganger for passord" -#: common/models.py:1174 +#: common/models.py:1171 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "Gruppe for hvilke nye brukere som er tilknyttet registrering" -#: common/models.py:1181 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "Brukere må bruke flerfaktorsikkerhet." -#: common/models.py:1188 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "Aktiver URL integrering" -#: common/models.py:1198 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "Aktiver navigasjonsintegrering" -#: common/models.py:1206 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1210 msgid "Enable app integration" msgstr "Aktiver app integrasjon" -#: common/models.py:1214 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1226 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1539 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "Vis abbonerte deler" -#: common/models.py:1277 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "Vis abbonerte deler på hjemmesiden" -#: common/models.py:1283 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "Vis abbonerte kategorier" -#: common/models.py:1284 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "Vis abbonerte delkatekorier på hjemmesiden" -#: common/models.py:1290 +#: common/models.py:1287 msgid "Show latest parts" msgstr "Vis nyeste deler" -#: common/models.py:1291 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "Vis nyeste deler på hjemmesiden" -#: common/models.py:1297 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "Antall nylig deler" -#: common/models.py:1298 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "Vis uvaliderte BOMs" -#: common/models.py:1305 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "Vis BOMs som venter validering på hjemmesiden" -#: common/models.py:1311 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "Vis nylige lagerendringer" -#: common/models.py:1312 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "Vis nylig endret lagervarer på hjemmesiden" -#: common/models.py:1318 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "Siste lagertelling" -#: common/models.py:1319 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "Antall nylige lagervarer som skal vises på indeksside" -#: common/models.py:1325 +#: common/models.py:1322 msgid "Show low stock" msgstr "Vis lav lager" -#: common/models.py:1326 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "Vis lav lagervarer på hjemmesiden" -#: common/models.py:1332 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "Vis tom lagervarer" -#: common/models.py:1333 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1336 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1343 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1350 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1357 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1398 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1405 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1412 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1419 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1426 msgid "Search Categories" msgstr "" -#: common/models.py:1430 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1433 msgid "Search Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1440 msgid "Search Locations" msgstr "" -#: common/models.py:1444 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1447 msgid "Search Companies" msgstr "" -#: common/models.py:1451 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1458 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1465 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "" -#: common/models.py:1472 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1479 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1486 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1492 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1493 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1499 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1500 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1506 +#: common/models.py:1503 msgid "Date Format" msgstr "" -#: common/models.py:1507 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1521 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1522 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1590 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "" -#: common/models.py:1597 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1598 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1755 common/models.py:1892 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "" -#: common/models.py:1756 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1765 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "" -#: common/models.py:1770 part/models.py:988 plugin/models.py:49 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2401,216 +2404,216 @@ msgstr "" msgid "Active" msgstr "Aktiv" -#: common/models.py:1771 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "" -#: common/models.py:1785 +#: common/models.py:1782 msgid "Token" msgstr "Sjetong" -#: common/models.py:1786 +#: common/models.py:1783 msgid "Token for access" msgstr "Nøkkel for tilgang" -#: common/models.py:1793 +#: common/models.py:1790 msgid "Secret" msgstr "Hemmelig" -#: common/models.py:1794 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "Delt hemmlighet for HMAC" -#: common/models.py:1859 +#: common/models.py:1856 msgid "Message ID" msgstr "Melding ID" -#: common/models.py:1860 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "Unik Id for denne meldingen" -#: common/models.py:1868 +#: common/models.py:1865 msgid "Host" msgstr "Vert" -#: common/models.py:1869 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1876 +#: common/models.py:1873 msgid "Header" msgstr "Tittel" -#: common/models.py:1877 +#: common/models.py:1874 msgid "Header of this message" msgstr "Overskrift for denne meldingen" -#: common/models.py:1883 +#: common/models.py:1880 msgid "Body" msgstr "Brødtekst" -#: common/models.py:1884 +#: common/models.py:1881 msgid "Body of this message" msgstr "" -#: common/models.py:1893 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1898 +#: common/models.py:1895 msgid "Worked on" msgstr "Arbeidet med" -#: common/models.py:1899 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "Var arbeidet med denne meldingen ferdig?" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Last opp fil" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Sammelign felter" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "Sammenlign varer" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "Deler importert" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "Forrige trinn" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "Bilde URL" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "Beskrivelse av firma" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "Beskrivelse av firmaet" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "Nettside" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "Bedriftens nettside URL" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "Adresse" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "Firmaet adresse" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "Telefonnummer" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "Kontakt-telefonnummer" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "E-post" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "Kontakt e-post" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "Kontakt" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "Link til ekstern bedriftsinformasjon" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "Bilde" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "Selger du varer til dette firmaet?" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "Kjøper du varer fra dette firmaet?" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "Produserer dette firmaet deler?" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "Valuta" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "Standardvaluta brukt for dette firmaet" -#: company/models.py:317 company/models.py:532 stock/models.py:619 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2618,11 +2621,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 @@ -2630,59 +2633,59 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2205 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 @@ -2690,66 +2693,66 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:97 +#: company/models.py:545 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:643 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "" @@ -2804,10 +2807,10 @@ msgstr "" msgid "Download image from URL" msgstr "Last ned bilde fra URL" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:662 -#: stock/models.py:663 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 @@ -2956,7 +2959,7 @@ msgstr "Alle valgte leverandørdeler vil slettes" msgid "Supplier List" msgstr "Leverandørliste" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2989,7 +2992,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3004,8 +3007,8 @@ msgstr "Slett leverandørdeler" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "Slett" @@ -3028,7 +3031,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "" @@ -3057,8 +3060,8 @@ msgid "Assigned Stock Items" msgstr "Tildelt lagervarer" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:627 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3084,12 +3087,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "" @@ -3143,11 +3146,11 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3171,54 +3174,54 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3226,486 +3229,486 @@ msgstr "" msgid "No valid objects provided to template" msgstr "" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:258 +#: label/models.py:255 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Spørrefilter (kommaseparert liste over nøkkel=verdiparer)," -#: label/models.py:259 label/models.py:319 label/models.py:366 -#: report/models.py:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "Filtre" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:256 order/templates/order/order_base.html:124 +#: order/models.py:258 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1155 +#: order/models.py:617 order/models.py:1157 #: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 #: templates/js/translated/order.js:2718 msgid "Order" msgstr "" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 +#: stock/templates/stock/item_base.html:342 #: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "" -#: order/models.py:976 order/templates/order/order_base.html:169 +#: order/models.py:978 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "" @@ -3825,7 +3828,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 @@ -3943,7 +3946,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "" @@ -3951,73 +3954,73 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "" -#: part/api.py:1037 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1041 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1056 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" @@ -4037,46 +4040,46 @@ msgstr "" msgid "On Order" msgstr "" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4087,65 +4090,65 @@ msgstr "" msgid "Parts" msgstr "" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4154,352 +4157,352 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "" @@ -4668,7 +4671,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "" @@ -4816,7 +4819,7 @@ msgstr "" msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "" @@ -4868,46 +4871,38 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4969,20 +4964,20 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "" @@ -4991,8 +4986,8 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "" @@ -5080,7 +5075,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "" @@ -5099,7 +5094,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "" @@ -5138,7 +5133,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "" @@ -5257,7 +5252,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "" @@ -5367,80 +5362,80 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "" @@ -5518,35 +5513,43 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:29 +#: plugin/models.py:36 +msgid "Plugin Metadata" +msgstr "" + +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" +msgstr "" + +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:92 msgid "Key" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "" -#: plugin/models.py:44 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:50 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:123 +#: plugin/models.py:180 msgid "Plugin" msgstr "" -#: plugin/models.py:197 +#: plugin/models.py:254 msgid "Method" msgstr "" @@ -5590,35 +5593,35 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "" @@ -5627,87 +5630,87 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "" @@ -5724,7 +5727,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:667 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 @@ -5738,12 +5741,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2193 +#: stock/models.py:2190 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2199 +#: stock/models.py:2196 msgid "Result" msgstr "" @@ -5773,362 +5776,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:762 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:763 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:568 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:611 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:620 +#: stock/models.py:617 msgid "Base part" msgstr "" -#: stock/models.py:628 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:634 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:637 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:644 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:650 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "" -#: stock/models.py:653 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:669 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "" -#: stock/models.py:683 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:688 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "" -#: stock/models.py:697 +#: stock/models.py:694 msgid "Source Build" msgstr "" -#: stock/models.py:699 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "" -#: stock/models.py:710 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:713 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:719 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:725 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:726 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:749 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:790 +#: stock/models.py:787 msgid "Converted to part" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1322 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1325 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1428 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1612 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2113 +#: stock/models.py:2110 msgid "Entry notes" msgstr "" -#: stock/models.py:2170 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2176 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2194 +#: stock/models.py:2191 msgid "Test name" msgstr "" -#: stock/models.py:2200 +#: stock/models.py:2197 msgid "Test result" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2203 msgid "Test output value" msgstr "" -#: stock/models.py:2213 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "" -#: stock/models.py:2219 +#: stock/models.py:2216 msgid "Test notes" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "Seriernummer eksisterer allerede" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "" @@ -6153,7 +6156,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" @@ -6177,194 +6180,198 @@ msgstr "" msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 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:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -6385,54 +6392,58 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6485,7 +6496,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "" @@ -6510,55 +6521,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "Sjekk bekreftelsesboksen" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "" @@ -6827,7 +6838,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" @@ -7276,9 +7287,9 @@ msgid "InvenTree Version Information" msgstr "" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7518,15 +7529,15 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "" @@ -7548,13 +7559,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7590,11 +7601,11 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "" @@ -7606,27 +7617,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "" @@ -7638,11 +7649,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7711,7 +7722,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "" @@ -7780,178 +7791,182 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "" @@ -8366,61 +8381,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "" @@ -8478,78 +8493,78 @@ msgstr "" msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "" @@ -9223,7 +9238,7 @@ msgstr "" msgid "Single Price Difference" msgstr "" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index cfcad463de..f623005933 100644 --- a/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/InvenTree/locale/pl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-15 23:30+0000\n" -"PO-Revision-Date: 2022-05-16 01:10\n" +"POT-Creation-Date: 2022-05-16 14:52+0000\n" +"PO-Revision-Date: 2022-05-17 01:05\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -17,56 +17,56 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:53 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "Nie znaleziono punktu końcowego API" -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "Wprowadź dane" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "Potwierdź" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "Potwierdź usunięcie" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "Potwierdź usuwanie elementu" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "Wprowadź hasło" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "Wprowadź nowe hasło" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "Potwierdź hasło" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "Potwierdź nowe hasło" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "Wybierz kategorię" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "Adres email (ponownie)" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "Potwierdzenie adresu email" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "Należy ponownie wpisać ten sam adres e-mail." @@ -75,7 +75,7 @@ msgstr "Należy ponownie wpisać ten sam adres e-mail." msgid "Duplicate serial: {sn}" msgstr "Powtórzony numer seryjny: {sn}" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "Podano nieprawidłową ilość" @@ -120,7 +120,7 @@ msgstr "Brak pliku" msgid "Missing external link" msgstr "Brak zewnętrznego odnośnika" -#: InvenTree/models.py:197 stock/models.py:2212 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "Załącznik" @@ -129,16 +129,16 @@ msgstr "Załącznik" msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "Łącze" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:677 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" @@ -150,10 +150,10 @@ msgstr "Komentarz" msgid "File comment" msgstr "Komentarz pliku" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 -#: common/models.py:1547 common/models.py:1778 common/models.py:1779 -#: common/models.py:2006 common/models.py:2007 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -192,9 +192,9 @@ msgstr "Błąd zmiany nazwy pliku" msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:43 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -207,19 +207,19 @@ msgstr "Błędny wybór" msgid "Name" msgstr "Nazwa" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 @@ -239,56 +239,56 @@ msgstr "Opis (opcjonalny)" msgid "parent" msgstr "nadrzędny" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "Nazwa pliku" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "Nieprawidłowa wartość" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "Plik danych" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "Wybierz plik danych do przesłania" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "Nieobsługiwany typ pliku" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "Plik jest zbyt duży" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "Nie znaleziono kolumn w pliku" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "Nie znaleziono wierszy danych w pliku" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "Nie podano wierszy danych" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "Nie podano kolumn danych" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Brakuje wymaganej kolumny: '{name}'" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Zduplikowana kolumna: '{col}'" @@ -431,7 +431,7 @@ msgstr "Zagubiono" msgid "Returned" msgstr "Zwrócone" -#: InvenTree/status_codes.py:143 order/models.py:1068 +#: InvenTree/status_codes.py:143 order/models.py:1070 #: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "Wysłane" @@ -584,42 +584,42 @@ msgstr "Przedawnienie nie może przekroczyć 100 %" msgid "Invalid value for overage" msgstr "Nieprawidłowa wartość przedawnienia" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "Usuń element" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "Zaznacz pole aby potwierdzić usunięcie elementu" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Edytuj informacje użytkownika" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Ustaw hasło" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "Hasła muszą być zgodne" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "Informacja systemowa" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "Zlecenie Budowy" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -629,40 +629,41 @@ msgstr "Zlecenie Budowy" msgid "Build Orders" msgstr "Zlecenia budowy" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 -#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "Referencja" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "Krótki opis budowy" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Budowa nadrzędna" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "Zamówienie budowy, do którego budowa jest przypisana" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -673,10 +674,11 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 @@ -689,132 +691,132 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" msgid "Part" msgstr "Komponent" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "Wybierz część do budowy" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "Odwołanie do zamówienia sprzedaży" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana" -#: build/models.py:249 build/serializers.py:794 +#: build/models.py:247 build/serializers.py:791 #: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "Lokalizacja źródła" -#: build/models.py:253 +#: build/models.py:251 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Wybierz lokalizację, z której pobrać element do budowy (pozostaw puste, aby wziąć z dowolnej lokalizacji)" -#: build/models.py:258 +#: build/models.py:256 msgid "Destination Location" msgstr "Lokalizacja docelowa" -#: build/models.py:262 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "Wybierz lokalizację, w której będą przechowywane ukończone elementy" -#: build/models.py:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "Ilość do stworzenia" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "Ilość przedmiotów do zbudowania" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "Ukończone elementy" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "Ilość produktów magazynowych które zostały ukończone" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "Status budowania" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "Kod statusu budowania" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:681 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "Kod partii" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:294 order/models.py:134 part/models.py:1009 +#: build/models.py:292 order/models.py:136 part/models.py:1007 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "Data utworzenia" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "Docelowy termin zakończenia" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "Data zakończenia" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "zrealizowane przez" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "Wydany przez" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "Odpowiedzialny" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "Użytkownik odpowiedzialny za to zamówienie budowy" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:675 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "Link Zewnętrzny" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 #: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 #: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 #: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 @@ -822,62 +824,62 @@ msgstr "Link Zewnętrzny" msgid "Notes" msgstr "Uwagi" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "Dodatkowe notatki do budowy" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "Nie określono danych wyjściowych budowy" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "Budowanie wyjścia jest już ukończone" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1214 +#: build/models.py:1212 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "Budowa" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 @@ -888,18 +890,18 @@ msgstr "" msgid "Stock Item" msgstr "Element magazynowy" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "Lokalizacja magazynowania przedmiotu" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1589 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -907,13 +909,14 @@ msgstr "Lokalizacja magazynowania przedmiotu" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 @@ -928,87 +931,87 @@ msgstr "Lokalizacja magazynowania przedmiotu" msgid "Quantity" msgstr "Ilość" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "Zainstaluj do" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "Numer seryjny" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 @@ -1020,13 +1023,13 @@ msgstr "" msgid "Location" msgstr "Lokalizacja" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 #: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 @@ -1034,129 +1037,129 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "Akceptuj niekompletne" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "Towar musi znajdować się w magazynie" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "Wyklucz lokalizację" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "" @@ -1226,7 +1229,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 @@ -1259,13 +1262,13 @@ msgid "Completed" msgstr "Zakończone" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:297 #: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "Zamówienie zakupu" @@ -1301,7 +1304,7 @@ msgstr "Źródło magazynu" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:990 +#: build/templates/build/detail.html:49 order/models.py:992 #: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "Przeznaczenie" @@ -1315,7 +1318,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1432,12 +1435,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "Drukuj etykiety" @@ -1503,7 +1506,7 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "" @@ -1527,873 +1530,873 @@ msgstr "Błąd odczytu pliku (niepoprawny wymiar)" msgid "Error reading file (data could be corrupted)" msgstr "Błąd odczytu pliku (dane mogą być uszkodzone)" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "Plik" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "Wybierz plik do przesłania" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "{name.title()} Plik" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "Wybierz plik {name} do przesłania" -#: common/models.py:401 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:403 +#: common/models.py:400 msgid "Settings value" msgstr "Ustawienia wartości" -#: common/models.py:444 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:464 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "Wartość musi być wartością binarną" -#: common/models.py:475 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "Wartość musi być liczbą całkowitą" -#: common/models.py:524 +#: common/models.py:521 msgid "Key string must be unique" msgstr "" -#: common/models.py:746 +#: common/models.py:743 msgid "No group" msgstr "Brak grupy" -#: common/models.py:788 +#: common/models.py:785 msgid "Restart required" msgstr "Wymagane ponowne uruchomienie" -#: common/models.py:789 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:796 +#: common/models.py:793 msgid "Server Instance Name" msgstr "" -#: common/models.py:798 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:802 +#: common/models.py:799 msgid "Use instance name" msgstr "Użyj nazwy instancji" -#: common/models.py:803 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:809 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:810 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:816 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "Nazwa firmy" -#: common/models.py:817 +#: common/models.py:814 msgid "Internal company name" msgstr "Wewnętrzna nazwa firmy" -#: common/models.py:822 +#: common/models.py:819 msgid "Base URL" msgstr "Bazowy URL" -#: common/models.py:823 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "Bazowy adres URL dla instancji serwera" -#: common/models.py:829 +#: common/models.py:826 msgid "Default Currency" msgstr "Domyślna waluta" -#: common/models.py:830 +#: common/models.py:827 msgid "Default currency" msgstr "Domyślna waluta" -#: common/models.py:836 +#: common/models.py:833 msgid "Download from URL" msgstr "Pobierz z adresu URL" -#: common/models.py:837 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "Zezwól na pobieranie zewnętrznych obrazów i plików z zewnętrznego URL" -#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Obsługa kodu kreskowego" -#: common/models.py:844 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "Włącz obsługę skanera kodów" -#: common/models.py:850 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:851 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:857 +#: common/models.py:854 msgid "IPN Regex" msgstr "Wyrażenie regularne IPN" -#: common/models.py:858 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "Zezwól na powtarzający się IPN" -#: common/models.py:863 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:869 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "Zezwól na edycję IPN" -#: common/models.py:870 +#: common/models.py:867 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:876 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "Skopiuj BOM komponentu" -#: common/models.py:877 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:884 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:891 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:897 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:898 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:904 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Szablon" -#: common/models.py:905 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "" -#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Złożenie" -#: common/models.py:912 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:918 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Komponent" -#: common/models.py:919 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:925 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "Możliwość zakupu" -#: common/models.py:926 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/models.py:932 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Możliwość sprzedaży" -#: common/models.py:933 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/models.py:939 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Możliwość śledzenia" -#: common/models.py:940 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/models.py:946 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Wirtualny" -#: common/models.py:947 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "Części są domyślnie wirtualne" -#: common/models.py:953 +#: common/models.py:950 msgid "Show Import in Views" msgstr "" -#: common/models.py:954 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:960 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "" -#: common/models.py:961 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "" -#: common/models.py:972 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "Pokaż cenę w BOM" -#: common/models.py:973 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "Dołącz informacje cenowe w tabelach BOM" -#: common/models.py:984 +#: common/models.py:981 msgid "Show Price History" msgstr "Pokaż historię cen" -#: common/models.py:985 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:991 +#: common/models.py:988 msgid "Show related parts" msgstr "" -#: common/models.py:992 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "" -#: common/models.py:998 +#: common/models.py:995 msgid "Create initial stock" msgstr "" -#: common/models.py:999 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1005 +#: common/models.py:1002 msgid "Internal Prices" msgstr "Ceny wewnętrzne" -#: common/models.py:1006 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1012 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1013 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1019 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1020 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "" -#: common/models.py:1027 +#: common/models.py:1024 msgid "Enable Reports" msgstr "Włącz raporty" -#: common/models.py:1028 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1034 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "Tryb Debugowania" -#: common/models.py:1035 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1041 +#: common/models.py:1038 msgid "Page Size" msgstr "Rozmiar strony" -#: common/models.py:1042 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:1049 msgid "Test Reports" msgstr "Raporty testów" -#: common/models.py:1053 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "Włącz generowanie raportów testów" -#: common/models.py:1059 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "" -#: common/models.py:1060 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1065 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "" -#: common/models.py:1066 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1072 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1073 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1079 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1080 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1082 +#: common/models.py:1079 msgid "days" msgstr "dni" -#: common/models.py:1087 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1088 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1094 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1095 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1101 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1102 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1107 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1108 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1112 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1113 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1118 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "Włącz opcję zapomnianego hasła" -#: common/models.py:1126 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "Włącz funkcję zapomnianego hasła na stronach logowania" -#: common/models.py:1132 +#: common/models.py:1129 msgid "Enable registration" msgstr "Włącz rejestrację" -#: common/models.py:1133 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "Włącz samodzielną rejestrację dla użytkowników na stronach logowania" -#: common/models.py:1139 +#: common/models.py:1136 msgid "Enable SSO" msgstr "Włącz SSO" -#: common/models.py:1140 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "Włącz SSO na stronach logowania" -#: common/models.py:1146 +#: common/models.py:1143 msgid "Email required" msgstr "Adres e-mail jest wymagany" -#: common/models.py:1147 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "Autouzupełnianie użytkowników SSO" -#: common/models.py:1154 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO" -#: common/models.py:1160 +#: common/models.py:1157 msgid "Mail twice" msgstr "E-mail dwa razy" -#: common/models.py:1161 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich adres e-mail" -#: common/models.py:1167 +#: common/models.py:1164 msgid "Password twice" msgstr "Hasło dwukrotnie" -#: common/models.py:1168 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło" -#: common/models.py:1174 +#: common/models.py:1171 msgid "Group on signup" msgstr "Grupuj przy rejestracji" -#: common/models.py:1175 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "Wymuś MFA" -#: common/models.py:1182 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych." -#: common/models.py:1188 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "Włącz integrację URL" -#: common/models.py:1198 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "Włącz wtyczki, aby dodać ścieżki URL" -#: common/models.py:1205 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1210 msgid "Enable app integration" msgstr "Włącz integrację z aplikacją" -#: common/models.py:1214 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "Włącz wtyczki, aby dodać aplikacje" -#: common/models.py:1221 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania" -#: common/models.py:1229 +#: common/models.py:1226 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1539 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter" -#: common/models.py:1276 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "Pokaż obserwowane części" -#: common/models.py:1277 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "Pokaż obserwowane części na stronie głównej" -#: common/models.py:1283 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "Pokaż obserwowane kategorie" -#: common/models.py:1284 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "Pokaż obserwowane kategorie części na stronie głównej" -#: common/models.py:1290 +#: common/models.py:1287 msgid "Show latest parts" msgstr "Pokaż najnowsze części" -#: common/models.py:1291 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "Pokaż najnowsze części na stronie głównej" -#: common/models.py:1297 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1322 msgid "Show low stock" msgstr "Pokaż niski stan magazynowy" -#: common/models.py:1326 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1336 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1343 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1350 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1357 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1398 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1405 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1412 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1419 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1426 msgid "Search Categories" msgstr "" -#: common/models.py:1430 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1433 msgid "Search Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1440 msgid "Search Locations" msgstr "" -#: common/models.py:1444 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1447 msgid "Search Companies" msgstr "" -#: common/models.py:1451 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1458 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1465 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "" -#: common/models.py:1472 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1479 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "Pokaż ilość w formularzach" -#: common/models.py:1486 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1492 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1493 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1499 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "Stały pasek nawigacyjny" -#: common/models.py:1500 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1506 +#: common/models.py:1503 msgid "Date Format" msgstr "Format daty" -#: common/models.py:1507 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "Preferowany format wyświetlania dat" -#: common/models.py:1521 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "Planowanie komponentów" -#: common/models.py:1522 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1590 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "" -#: common/models.py:1597 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "Cena" -#: common/models.py:1598 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1755 common/models.py:1892 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "Punkt końcowy" -#: common/models.py:1756 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1765 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "" -#: common/models.py:1770 part/models.py:988 plugin/models.py:49 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2401,216 +2404,216 @@ msgstr "" msgid "Active" msgstr "Aktywny" -#: common/models.py:1771 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "" -#: common/models.py:1785 +#: common/models.py:1782 msgid "Token" msgstr "" -#: common/models.py:1786 +#: common/models.py:1783 msgid "Token for access" msgstr "" -#: common/models.py:1793 +#: common/models.py:1790 msgid "Secret" msgstr "Sekret" -#: common/models.py:1794 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "Współdzielony sekret dla HMAC" -#: common/models.py:1859 +#: common/models.py:1856 msgid "Message ID" msgstr "Id wiadomości" -#: common/models.py:1860 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "Unikalny identyfikator dla tej wiadomości" -#: common/models.py:1868 +#: common/models.py:1865 msgid "Host" msgstr "" -#: common/models.py:1869 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "Host, od którego otrzymano tę wiadomość" -#: common/models.py:1876 +#: common/models.py:1873 msgid "Header" msgstr "Nagłówek" -#: common/models.py:1877 +#: common/models.py:1874 msgid "Header of this message" msgstr "Nagłówek tej wiadomości" -#: common/models.py:1883 +#: common/models.py:1880 msgid "Body" msgstr "Zawartość" -#: common/models.py:1884 +#: common/models.py:1881 msgid "Body of this message" msgstr "" -#: common/models.py:1893 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1898 +#: common/models.py:1895 msgid "Worked on" msgstr "" -#: common/models.py:1899 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Wyślij plik" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "Pasujące elementy" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "Poprzedni krok" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "URL zdjęcia" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "Opis firmy" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "Opis firmy" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "Strona WWW" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "Witryna internetowa firmy" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "Adres" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "Adres firmy" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "Numer telefonu" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "Numer telefonu kontaktowego" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "Adres E-Mail" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "Kontaktowy adres e-mail" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "Kontakt" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "Punkt kontaktowy" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "Link do informacji o zewnętrznym przedsiębiorstwie" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "Obraz" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "jest klientem" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "Czy sprzedajesz produkty tej firmie?" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "jest dostawcą" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "Czy kupujesz przedmioty od tej firmy?" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "jest producentem" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "Czy to przedsiębiorstwo produkuje części?" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "Waluta" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:619 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "Część bazowa" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "Wybierz część" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2618,11 +2621,11 @@ msgstr "Wybierz część" msgid "Manufacturer" msgstr "Producent" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "Wybierz producenta" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 @@ -2630,59 +2633,59 @@ msgstr "Wybierz producenta" msgid "MPN" msgstr "" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "Numer producenta komponentu" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "Komponent producenta" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2205 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "Wartość" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "Jednostki" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "Jednostki parametru" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 @@ -2690,66 +2693,66 @@ msgstr "" msgid "Supplier" msgstr "Dostawca" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:548 company/templates/company/supplier_part.html:97 +#: company/models.py:545 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "Uwaga" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:643 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "Opakowanie" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "Opakowanie części" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "wielokrotność" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "ostatnia aktualizacja" @@ -2804,10 +2807,10 @@ msgstr "Prześlij nowy obraz" msgid "Download image from URL" msgstr "Pobierz obraz z adresu URL" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:662 -#: stock/models.py:663 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 @@ -2956,7 +2959,7 @@ msgstr "Wszystkie wybrane komponenty dostawcy zostaną usunięte" msgid "Supplier List" msgstr "Lista dostawców" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2989,7 +2992,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3004,8 +3007,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "Usuń" @@ -3028,7 +3031,7 @@ msgid "Delete parameters" msgstr "Usuń parametry" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "Dodaj parametr" @@ -3057,8 +3060,8 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:627 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3084,12 +3087,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "Utwórz nowy towar" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "Nowy towar" @@ -3143,11 +3146,11 @@ msgstr "Ostatnio aktualizowane" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3171,54 +3174,54 @@ msgstr "Cennik" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "Towary" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "Nowy dostawca" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "Now producent" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "Klienci" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "Nowy klient" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "Firmy" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "Nowa firma" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "Pobierz obraz" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3226,486 +3229,486 @@ msgstr "" msgid "No valid objects provided to template" msgstr "" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "Nazwa etykiety" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "Opis etykiety" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "Etykieta" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "Aktywne" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "Szerokość [mm]" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "Wysokość [mm]" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "Wzór nazwy pliku" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:258 +#: label/models.py:255 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:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "Filtry" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "Opis Zamówienia" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "Link do zewnętrznej witryny" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "Utworzony przez" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "Notatki do zamówienia" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "Odniesienie zamówienia" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "Status zamówienia zakupu" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:256 order/templates/order/order_base.html:124 +#: order/models.py:258 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "odebrane przez" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "Data wydania" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "Data wystawienia zamówienia" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "Data Dostawy Towaru" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "Wartość musi być liczbą dodatnią" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1155 +#: order/models.py:617 order/models.py:1157 #: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "Data wysyłki" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "wysłane przez" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "Ilość elementów" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 #: templates/js/translated/order.js:2718 msgid "Order" msgstr "Zamówienie" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 +#: stock/templates/stock/item_base.html:342 #: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "" -#: order/models.py:976 order/templates/order/order_base.html:169 +#: order/models.py:978 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "Odebrane" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "Cena zakupu" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "Cena zakupu jednostkowego" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "Gdzie kupujący chce przechowywać ten przedmiot?" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "Cena sprzedaży" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "Wysłana ilość" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "Data wysyłki" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "Sprawdzone przez" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "Numer przesyłki" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "Notatki do przesyłki" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "Numer śledzenia" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "Informacje o śledzeniu przesyłki" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "Przesyłka została już wysłana" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "Linia" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "Przesyłka" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "Komponent" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "Zamówienie nie może zostać anulowane" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "" @@ -3825,7 +3828,7 @@ msgstr "Wybierz dostawcę części" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 @@ -3943,7 +3946,7 @@ msgid "Pending Shipments" msgstr "Oczekujące przesyłki" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "Akcje" @@ -3951,73 +3954,73 @@ msgstr "Akcje" msgid "New Shipment" msgstr "Nowa wysyłka" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "Nie znaleziono ceny" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "Ważny" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "Ta opcja musi być zaznaczona" -#: part/api.py:1037 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "Musi być większe niż zero" -#: part/api.py:1041 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "Musi być prawidłową ilością" -#: part/api.py:1056 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "To pole jest wymagane" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "Domyślna lokalizacja" @@ -4037,46 +4040,46 @@ msgstr "Dostępna ilość" msgid "On Order" msgstr "W Zamówieniu" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "Wybierz kategorię części" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "Domyślna lokalizacja dla komponentów w tej kategorii" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "Domyślne słowa kluczowe" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategoria komponentu" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "Kategorie części" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4087,65 +4090,65 @@ msgstr "Kategorie części" msgid "Parts" msgstr "Części" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "Nieprawidłowy wybór dla części nadrzędnej" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "Część '{p1}' jest używana w BOM dla '{p2}' (rekursywne)" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "Nazwa komponentu" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "Czy szablon" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "Czy ta część jest wariantem innej części?" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "Wariant" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "Opis komponentu" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "Słowa kluczowe" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4154,352 +4157,352 @@ msgstr "" msgid "Category" msgstr "Kategoria" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "Wersja" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "Domyślne wygasanie" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "Czy ten komponent może być zbudowany z innych komponentów?" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "Czy ta część może być użyta do budowy innych części?" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "Czy ta część jest aktywna?" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "Czy to wirtualna część, taka jak oprogramowanie lub licencja?" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "Tworzenie użytkownika" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "Wymagane" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "Wymaga wartości" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "Dane" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "Wartość parametru" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "ID komponentu" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "Unikalny wartość ID komponentu" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "Nazwa komponentu" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "IPN komponentu" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "Wartość IPN części" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "Poziom" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "Opcjonalne" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "Dziedziczone" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "Część 1" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "Część 2" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "Waluta zakupu tego towaru" @@ -4668,7 +4671,7 @@ msgstr "Części (w tym podkategorie)" msgid "Create new part" msgstr "Utwórz nową część" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "Nowy komponent" @@ -4816,7 +4819,7 @@ msgstr "Zestawienie materiałowe" msgid "Export actions" msgstr "Akcje eksportu" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "Eksportuj BOM" @@ -4868,46 +4871,38 @@ msgstr "Producenci części" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "Powiązane części" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "Dodaj powiązaną część" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4969,20 +4964,20 @@ msgid "Subscribe to notifications for this part" msgstr "Włącz powiadomienia dla tej części" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "Akcje kodów kreskowych" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "Pokaż Kod QR" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "Drukuj etykietę" @@ -4991,8 +4986,8 @@ msgid "Show pricing information" msgstr "Pokaż informacje o cenach" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "Akcje magazynowe" @@ -5080,7 +5075,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "Przypisane do zamówień sprzedaży" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "" @@ -5099,7 +5094,7 @@ msgid "Latest Serial Number" msgstr "Ostatni numer seryjny" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "Szukaj numeru seryjnego" @@ -5138,7 +5133,7 @@ msgid "Total Cost" msgstr "Całkowity Koszt" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "Brak dostępnych cen dostawców" @@ -5259,7 +5254,7 @@ msgstr "Pokaż cenę sprzedaży" msgid "Calculation parameters" msgstr "Parametry obliczeniowe" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "Koszty dostawcy" @@ -5369,80 +5364,80 @@ msgstr "Nieznana baza danych" msgid "{title} v{version}" msgstr "" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "Ustaw kategorię części" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "Żaden" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "Kod QR części" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "Wybierz obrazek części" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "Zaktualizowano zdjęcie części" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "Nie znaleziono obrazka części" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "Potwierdź usunięcie części" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "Część została usunięta" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "Cennik części" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "" @@ -5520,35 +5515,43 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:29 +#: plugin/models.py:36 +msgid "Plugin Metadata" +msgstr "" + +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" +msgstr "" + +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "Konfiguracja wtyczki" -#: plugin/models.py:30 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "Konfiguracja wtyczek" -#: plugin/models.py:35 +#: plugin/models.py:92 msgid "Key" msgstr "Klucz" -#: plugin/models.py:36 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "Klucz wtyczki" -#: plugin/models.py:44 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "Nazwa wtyczki" -#: plugin/models.py:50 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "Czy wtyczka jest aktywna" -#: plugin/models.py:123 +#: plugin/models.py:180 msgid "Plugin" msgstr "Wtyczka" -#: plugin/models.py:197 +#: plugin/models.py:254 msgid "Method" msgstr "" @@ -5592,35 +5595,35 @@ msgstr "Ustawienie jednokrotnego wyboru" msgid "A setting with multiple choices" msgstr "Ustawienie wielokrotnego wyboru" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "Źródłowy adres URL" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "Źródło pakietu - może to być niestandardowy rejestr lub ścieżka VCS" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "Nazwa pakietu" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "Nazwa pakietu wtyczki - może również zawierać wskaźnik wersji" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "Potwierdź instalację wtyczki" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "Spowoduje to zainstalowanie tej wtyczki w bieżącej instancji. Instancja przejdzie do trybu konserwacji." -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "Instalacja nie została potwierdzona" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "" @@ -5629,87 +5632,87 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "Nazwa szablonu" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "Filtr części" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "Wycinek" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "" @@ -5726,7 +5729,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:667 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 @@ -5740,12 +5743,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2193 +#: stock/models.py:2190 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2199 +#: stock/models.py:2196 msgid "Result" msgstr "Wynik" @@ -5775,362 +5778,362 @@ msgstr "Zainstalowane elementy" msgid "Serial" msgstr "Numer seryjny" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:762 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "Właściciel" -#: stock/models.py:95 stock/models.py:763 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "Wybierz właściciela" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:568 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:611 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "Nadrzędny towar" -#: stock/models.py:620 +#: stock/models.py:617 msgid "Base part" msgstr "Część podstawowa" -#: stock/models.py:628 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "Wybierz pasującą część dostawcy dla tego towaru" -#: stock/models.py:634 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:637 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:644 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:650 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "Zainstalowane w" -#: stock/models.py:653 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:669 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "" -#: stock/models.py:683 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:688 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "Ilość w magazynie" -#: stock/models.py:697 +#: stock/models.py:694 msgid "Source Build" msgstr "" -#: stock/models.py:699 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "" -#: stock/models.py:710 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:713 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:719 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:725 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "Data ważności" -#: stock/models.py:726 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "Usuń po wyczerpaniu" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:749 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:790 +#: stock/models.py:787 msgid "Converted to part" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "Ilość musi być liczbą całkowitą" -#: stock/models.py:1322 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "Ilość nie może przekraczać dostępnej ilości towaru ({n})" -#: stock/models.py:1325 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1428 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1612 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2113 +#: stock/models.py:2110 msgid "Entry notes" msgstr "Notatki do wpisu" -#: stock/models.py:2170 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "Należy podać wartość dla tego testu" -#: stock/models.py:2176 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2194 +#: stock/models.py:2191 msgid "Test name" msgstr "Nazwa testu" -#: stock/models.py:2200 +#: stock/models.py:2197 msgid "Test result" msgstr "Wynik testu" -#: stock/models.py:2206 +#: stock/models.py:2203 msgid "Test output value" msgstr "" -#: stock/models.py:2213 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "" -#: stock/models.py:2219 +#: stock/models.py:2216 msgid "Test notes" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "Cena zakupu tego towaru" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "Numer seryjny już istnieje" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "Część musi być dostępna do sprzedaży" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "" @@ -6155,7 +6158,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" @@ -6179,194 +6182,198 @@ msgstr "" msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "Skanuj do lokacji" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "Akcje druku" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "Przelicz stan magazynowy" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "Usuń stan magazynowy" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "Przenieś stan magazynowy" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "Odinstaluj" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "Zainstaluj" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "poprzednia strona" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "następna strona" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "Termin minął" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "Ostatnia aktualizacja" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 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:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "Lokacje nie są ustawione" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "Skaner kodów" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "Element nadrzędny" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "Nie ustawiono producenta" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "Testy" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "Tylko do odczytu" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -6387,54 +6394,58 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "Edytuj lokację" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "Nowa lokalizacja" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "Lokacje stanu magazynowego" @@ -6487,7 +6498,7 @@ msgstr "" msgid "Child Items" msgstr "Elementy podrzędne" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "" @@ -6512,55 +6523,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "Wróć do stanu magazynowego" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "Usuń wszystkie dane testowe" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "" @@ -6829,7 +6840,7 @@ msgid "Plugins" msgstr "Wtyczki" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "Instaluj wtyczkę" @@ -7278,9 +7289,9 @@ msgid "InvenTree Version Information" msgstr "Informacje o wersji InvenTree" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7523,15 +7534,15 @@ msgstr "Dodaj link" msgid "Add Attachment" msgstr "Dodaj załącznik" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "Wymagane ponowne uruchomienie serwera" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "Zmieniono opcję konfiguracji, która wymaga ponownego uruchomienia serwera" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "Skontaktuj się z administratorem systemu w celu uzyskania dalszych informacji" @@ -7553,13 +7564,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "Wymagana ilość" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7595,11 +7606,11 @@ msgstr "Zdalny serwer musi być dostępny" msgid "Remote image must not exceed maximum allowable file size" msgstr "Zewnętrzne zdjęcie nie może przekraczać maksymalnego dopuszczalnego rozmiaru pliku" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "Brak odpowiedzi" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "Brak odpowiedzi z serwera InvenTree" @@ -7611,27 +7622,27 @@ msgstr "Błąd 400: Błędne żądanie" msgid "API request returned error code 400" msgstr "Żądanie interfejsu API zwróciło kod błędu 400" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "Błąd 401: Nieuwierzytelniony" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "Dane uwierzytelniające nie zostały dostarczone" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "Błąd 403: Odmowa dostępu" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 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:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "Błąd 404: Nie znaleziono zasobu" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "Żądany zasób nie mógł być zlokalizowany na serwerze" @@ -7643,11 +7654,11 @@ msgstr "Błąd 405: Metoda nie jest dozwolona" msgid "HTTP method not allowed at URL" msgstr "Metoda HTTP nie jest dozwolona pod tym adresem URL" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "Błąd 408: Przekroczony limit czasu" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "Limit czasu połączenia podczas żądania danych z serwera" @@ -7716,7 +7727,7 @@ msgid "Unknown response from server" msgstr "Nieznana odpowiedź serwera" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "Niepoprawna odpowiedź serwera" @@ -7785,178 +7796,182 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "Wyświetl dane wiersza" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "Dane wiersza" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "Wybierz format pliku" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "Kaskadowe" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "Poziomy" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "Dodaj zamiennik" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "Zobacz BOM" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "" @@ -8371,61 +8386,61 @@ msgstr "Wyczyść wszystkie filtry" msgid "Create filter" msgstr "Utwórz filtr" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "Działanie zabronione" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "Operacja utworzenia nie jest dozwolona" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "Operacja aktualizacji nie jest dozwolona" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "Operacja usuwania nie jest dozwolona" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "Operacja przeglądania nie jest dozwolona" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "Pozostaw ten formularz otwarty" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "Wprowadź poprawny numer" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Istnieją błędy formularza" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "Nie znaleziono wyników" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "Wyszukiwanie" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "Wyczyść wejście" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "Kolumna pliku" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "Nazwa pola" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "Wybór Kolumn" @@ -8483,78 +8498,78 @@ msgstr "" msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "Wybierz szablon etykiety" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "Anuluj" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "Zatwierdź" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "Tytuł formularza" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "Oczekiwanie na serwer..." -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "Pokaż informacje o błędzie" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "Zaakceptuj" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "Wczytywanie danych" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "Niepoprawna odpowiedź serwera" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "Brak danych formularza z odpowiedzi serwera" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "Błąd podczas wysyłania danych formularza" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "Brak danych w formularzu odpowiedzi JSON" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "400: Nieprawidłowe zapytanie" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "Serwer zwrócił kod błędu 400" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "Błąd podczas żądania danych formularza" @@ -9228,7 +9243,7 @@ msgstr "Cena jednostkowa" msgid "Single Price Difference" msgstr "" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index 9e55605ccf..903204f324 100644 --- a/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/InvenTree/locale/pt/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-15 23:30+0000\n" -"PO-Revision-Date: 2022-05-16 01:10\n" +"POT-Creation-Date: 2022-05-16 14:52+0000\n" +"PO-Revision-Date: 2022-05-17 01:05\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -17,56 +17,56 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:53 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "API endpoint não encontrado" -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "Insira uma Data" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "Confirmar" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "Confirmar exclusão" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "Confirmar exclusão do item" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "Digite a senha" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "Insira uma nova senha" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "Confirmar senha" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "Confirmar nova senha" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "Selecionar Categoria" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "E-mail (novamente)" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "Confirmação do endereço de email" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "" @@ -75,7 +75,7 @@ msgstr "" msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "" @@ -120,7 +120,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2212 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "" @@ -129,16 +129,16 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:677 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "" @@ -150,10 +150,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 -#: common/models.py:1547 common/models.py:1778 common/models.py:1779 -#: common/models.py:2006 common/models.py:2007 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -192,9 +192,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:43 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -207,19 +207,19 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 @@ -239,56 +239,56 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -431,7 +431,7 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:143 order/models.py:1068 +#: InvenTree/status_codes.py:143 order/models.py:1070 #: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "" @@ -584,42 +584,42 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -629,40 +629,41 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 -#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -673,10 +674,11 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 @@ -689,132 +691,132 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:249 build/serializers.py:794 +#: build/models.py:247 build/serializers.py:791 #: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" -#: build/models.py:253 +#: 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:258 +#: build/models.py:256 msgid "Destination Location" msgstr "" -#: build/models.py:262 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:681 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "" -#: build/models.py:294 order/models.py:134 part/models.py:1009 +#: build/models.py:292 order/models.py:136 part/models.py:1007 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:675 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 #: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 #: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 #: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 @@ -822,62 +824,62 @@ msgstr "" msgid "Notes" msgstr "" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1214 +#: build/models.py:1212 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 @@ -888,18 +890,18 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1589 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -907,13 +909,14 @@ msgstr "" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 @@ -928,87 +931,87 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 @@ -1020,13 +1023,13 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 #: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 @@ -1034,129 +1037,129 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "" @@ -1226,7 +1229,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 @@ -1259,13 +1262,13 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:297 #: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1301,7 +1304,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:990 +#: build/templates/build/detail.html:49 order/models.py:992 #: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1315,7 +1318,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1432,12 +1435,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1503,7 +1506,7 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "" @@ -1527,873 +1530,873 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:401 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:403 +#: common/models.py:400 msgid "Settings value" msgstr "" -#: common/models.py:444 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:464 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:475 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "" -#: common/models.py:524 +#: common/models.py:521 msgid "Key string must be unique" msgstr "" -#: common/models.py:746 +#: common/models.py:743 msgid "No group" msgstr "" -#: common/models.py:788 +#: common/models.py:785 msgid "Restart required" msgstr "" -#: common/models.py:789 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:796 +#: common/models.py:793 msgid "Server Instance Name" msgstr "" -#: common/models.py:798 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:802 +#: common/models.py:799 msgid "Use instance name" msgstr "" -#: common/models.py:803 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:809 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:810 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:816 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "" -#: common/models.py:817 +#: common/models.py:814 msgid "Internal company name" msgstr "" -#: common/models.py:822 +#: common/models.py:819 msgid "Base URL" msgstr "" -#: common/models.py:823 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "" -#: common/models.py:829 +#: common/models.py:826 msgid "Default Currency" msgstr "" -#: common/models.py:830 +#: common/models.py:827 msgid "Default currency" msgstr "" -#: common/models.py:836 +#: common/models.py:833 msgid "Download from URL" msgstr "" -#: common/models.py:837 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:844 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:850 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:851 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:857 +#: common/models.py:854 msgid "IPN Regex" msgstr "" -#: common/models.py:858 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:869 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:870 +#: common/models.py:867 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:876 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:877 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:884 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:891 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:897 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:898 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:904 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:905 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "" -#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:912 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:918 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:919 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:925 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "" -#: common/models.py:926 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:932 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:933 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "" -#: common/models.py:939 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:940 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:946 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:947 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:953 +#: common/models.py:950 msgid "Show Import in Views" msgstr "" -#: common/models.py:954 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:960 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "" -#: common/models.py:961 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "" -#: common/models.py:972 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "" -#: common/models.py:973 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:984 +#: common/models.py:981 msgid "Show Price History" msgstr "" -#: common/models.py:985 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:991 +#: common/models.py:988 msgid "Show related parts" msgstr "" -#: common/models.py:992 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "" -#: common/models.py:998 +#: common/models.py:995 msgid "Create initial stock" msgstr "" -#: common/models.py:999 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1005 +#: common/models.py:1002 msgid "Internal Prices" msgstr "" -#: common/models.py:1006 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1012 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1013 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1019 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1020 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "" -#: common/models.py:1027 +#: common/models.py:1024 msgid "Enable Reports" msgstr "" -#: common/models.py:1028 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1034 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1035 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1041 +#: common/models.py:1038 msgid "Page Size" msgstr "" -#: common/models.py:1042 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:1049 msgid "Test Reports" msgstr "" -#: common/models.py:1053 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1059 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "" -#: common/models.py:1060 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1065 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "" -#: common/models.py:1066 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1072 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1073 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1079 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1080 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1082 +#: common/models.py:1079 msgid "days" msgstr "" -#: common/models.py:1087 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1088 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1094 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1095 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1101 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1102 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1107 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1108 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1112 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1113 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1118 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1129 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1136 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1143 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1157 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1164 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1171 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1210 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1226 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1539 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1287 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1322 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1336 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1343 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1350 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1357 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1398 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1405 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1412 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1419 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1426 msgid "Search Categories" msgstr "" -#: common/models.py:1430 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1433 msgid "Search Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1440 msgid "Search Locations" msgstr "" -#: common/models.py:1444 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1447 msgid "Search Companies" msgstr "" -#: common/models.py:1451 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1458 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1465 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "" -#: common/models.py:1472 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1479 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1486 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1492 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1493 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1499 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1500 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1506 +#: common/models.py:1503 msgid "Date Format" msgstr "" -#: common/models.py:1507 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1521 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1522 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1590 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "" -#: common/models.py:1597 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1598 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1755 common/models.py:1892 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "" -#: common/models.py:1756 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1765 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "" -#: common/models.py:1770 part/models.py:988 plugin/models.py:49 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2401,216 +2404,216 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "" -#: common/models.py:1785 +#: common/models.py:1782 msgid "Token" msgstr "" -#: common/models.py:1786 +#: common/models.py:1783 msgid "Token for access" msgstr "" -#: common/models.py:1793 +#: common/models.py:1790 msgid "Secret" msgstr "" -#: common/models.py:1794 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1859 +#: common/models.py:1856 msgid "Message ID" msgstr "" -#: common/models.py:1860 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1868 +#: common/models.py:1865 msgid "Host" msgstr "" -#: common/models.py:1869 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1876 +#: common/models.py:1873 msgid "Header" msgstr "" -#: common/models.py:1877 +#: common/models.py:1874 msgid "Header of this message" msgstr "" -#: common/models.py:1883 +#: common/models.py:1880 msgid "Body" msgstr "" -#: common/models.py:1884 +#: common/models.py:1881 msgid "Body of this message" msgstr "" -#: common/models.py:1893 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1898 +#: common/models.py:1895 msgid "Worked on" msgstr "" -#: common/models.py:1899 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:619 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2618,11 +2621,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 @@ -2630,59 +2633,59 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2205 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 @@ -2690,66 +2693,66 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:97 +#: company/models.py:545 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:643 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "" @@ -2804,10 +2807,10 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:662 -#: stock/models.py:663 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 @@ -2956,7 +2959,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2989,7 +2992,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3004,8 +3007,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "" @@ -3028,7 +3031,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "" @@ -3057,8 +3060,8 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:627 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3084,12 +3087,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "" @@ -3143,11 +3146,11 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3171,54 +3174,54 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3226,486 +3229,486 @@ msgstr "" msgid "No valid objects provided to template" msgstr "" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:258 +#: label/models.py:255 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:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:256 order/templates/order/order_base.html:124 +#: order/models.py:258 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1155 +#: order/models.py:617 order/models.py:1157 #: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 #: templates/js/translated/order.js:2718 msgid "Order" msgstr "" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 +#: stock/templates/stock/item_base.html:342 #: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "" -#: order/models.py:976 order/templates/order/order_base.html:169 +#: order/models.py:978 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "" @@ -3825,7 +3828,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 @@ -3943,7 +3946,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "" @@ -3951,73 +3954,73 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "" -#: part/api.py:1037 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1041 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1056 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" @@ -4037,46 +4040,46 @@ msgstr "" msgid "On Order" msgstr "" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4087,65 +4090,65 @@ msgstr "" msgid "Parts" msgstr "" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4154,352 +4157,352 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "" @@ -4668,7 +4671,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "" @@ -4816,7 +4819,7 @@ msgstr "" msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "" @@ -4868,46 +4871,38 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4969,20 +4964,20 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "" @@ -4991,8 +4986,8 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "" @@ -5080,7 +5075,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "" @@ -5099,7 +5094,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "" @@ -5138,7 +5133,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "" @@ -5257,7 +5252,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "" @@ -5367,80 +5362,80 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "" @@ -5518,35 +5513,43 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:29 +#: plugin/models.py:36 +msgid "Plugin Metadata" +msgstr "" + +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" +msgstr "" + +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:92 msgid "Key" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "" -#: plugin/models.py:44 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:50 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:123 +#: plugin/models.py:180 msgid "Plugin" msgstr "" -#: plugin/models.py:197 +#: plugin/models.py:254 msgid "Method" msgstr "" @@ -5590,35 +5593,35 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "" @@ -5627,87 +5630,87 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "" @@ -5724,7 +5727,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:667 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 @@ -5738,12 +5741,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2193 +#: stock/models.py:2190 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2199 +#: stock/models.py:2196 msgid "Result" msgstr "" @@ -5773,362 +5776,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:762 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:763 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:568 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:611 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:620 +#: stock/models.py:617 msgid "Base part" msgstr "" -#: stock/models.py:628 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:634 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:637 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:644 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:650 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "" -#: stock/models.py:653 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:669 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "" -#: stock/models.py:683 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:688 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "" -#: stock/models.py:697 +#: stock/models.py:694 msgid "Source Build" msgstr "" -#: stock/models.py:699 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "" -#: stock/models.py:710 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:713 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:719 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:725 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:726 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:749 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:790 +#: stock/models.py:787 msgid "Converted to part" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1322 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1325 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1428 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1612 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2113 +#: stock/models.py:2110 msgid "Entry notes" msgstr "" -#: stock/models.py:2170 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2176 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2194 +#: stock/models.py:2191 msgid "Test name" msgstr "" -#: stock/models.py:2200 +#: stock/models.py:2197 msgid "Test result" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2203 msgid "Test output value" msgstr "" -#: stock/models.py:2213 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "" -#: stock/models.py:2219 +#: stock/models.py:2216 msgid "Test notes" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "" @@ -6153,7 +6156,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" @@ -6177,194 +6180,198 @@ msgstr "" msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 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:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -6385,54 +6392,58 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6485,7 +6496,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "" @@ -6510,55 +6521,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "" @@ -6827,7 +6838,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" @@ -7276,9 +7287,9 @@ msgid "InvenTree Version Information" msgstr "" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7518,15 +7529,15 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "" @@ -7548,13 +7559,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7590,11 +7601,11 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "" @@ -7606,27 +7617,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "" @@ -7638,11 +7649,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7711,7 +7722,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "" @@ -7780,178 +7791,182 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "" @@ -8366,61 +8381,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "" @@ -8478,78 +8493,78 @@ msgstr "" msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "" @@ -9223,7 +9238,7 @@ msgstr "" msgid "Single Price Difference" msgstr "" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po index a01c32fc3c..910036f17d 100644 --- a/InvenTree/locale/pt_br/LC_MESSAGES/django.po +++ b/InvenTree/locale/pt_br/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-11 13:30+0000\n" +"POT-Creation-Date: 2022-05-16 15:08+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,64 +18,56 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: InvenTree/api.py:57 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:103 -msgid "No action specified" -msgstr "" - -#: InvenTree/api.py:118 -msgid "No matching action found" -msgstr "" - -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "" @@ -84,7 +76,7 @@ msgstr "" msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "" @@ -129,7 +121,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2205 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "" @@ -138,16 +130,16 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:670 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "" @@ -159,10 +151,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542 -#: common/models.py:1543 common/models.py:1764 common/models.py:1765 -#: common/models.py:1994 common/models.py:1995 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -201,9 +193,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:41 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -216,23 +208,23 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453 -#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156 +#: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 +#: templates/js/translated/order.js:1663 templates/js/translated/order.js:2147 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 #: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 @@ -248,56 +240,56 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -440,8 +432,8 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:143 order/models.py:1068 -#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196 +#: InvenTree/status_codes.py:143 order/models.py:1070 +#: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "" @@ -593,42 +585,42 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -638,40 +630,41 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906 -#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -682,14 +675,15 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 -#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483 -#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047 +#: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 +#: templates/js/translated/order.js:2823 templates/js/translated/order.js:3038 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 @@ -698,217 +692,217 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:249 build/serializers.py:794 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471 +#: build/models.py:247 build/serializers.py:791 +#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" -#: build/models.py:253 +#: 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:258 +#: build/models.py:256 msgid "Destination Location" msgstr "" -#: build/models.py:262 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:674 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "" -#: build/models.py:294 order/models.py:134 part/models.py:1009 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169 +#: build/models.py:292 order/models.py:136 part/models.py:1007 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487 +#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:668 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826 -#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352 -#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 +#: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 +#: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 #: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922 msgid "Notes" msgstr "" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1214 +#: build/models.py:1212 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484 -#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744 -#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929 +#: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 +#: templates/js/translated/order.js:2730 templates/js/translated/order.js:2735 +#: templates/js/translated/order.js:2830 templates/js/translated/order.js:2920 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 #: templates/js/translated/stock.js:2454 msgid "Stock Item" msgstr "" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1575 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -916,19 +910,20 @@ msgstr "" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 -#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912 -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758 -#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935 -#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552 +#: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 +#: templates/js/translated/order.js:2476 templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2837 templates/js/translated/order.js:2926 +#: templates/js/translated/order.js:3060 templates/js/translated/order.js:3543 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -937,235 +932,235 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 -#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854 -#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943 +#: templates/js/translated/order.js:2742 templates/js/translated/order.js:2845 +#: templates/js/translated/order.js:2853 templates/js/translated/order.js:2934 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 #: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395 msgid "Location" msgstr "" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457 -#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768 +#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 +#: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 #: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604 msgid "Status" msgstr "" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "" @@ -1235,13 +1230,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177 -#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1476 +#: templates/js/translated/order.js:1762 templates/js/translated/order.js:2168 +#: templates/js/translated/order.js:3123 templates/js/translated/part.js:971 msgid "Target Date" msgstr "" @@ -1268,14 +1263,14 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 -#: templates/js/translated/order.js:2116 +#: stock/templates/stock/item_base.html:297 +#: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1310,8 +1305,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:990 -#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815 +#: build/templates/build/detail.html:49 order/models.py:992 +#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1324,7 +1319,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1441,12 +1436,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1512,7 +1507,7 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "" @@ -1536,873 +1531,873 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:387 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:389 +#: common/models.py:400 msgid "Settings value" msgstr "" -#: common/models.py:430 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:450 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:461 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "" -#: common/models.py:510 +#: common/models.py:521 msgid "Key string must be unique" msgstr "" -#: common/models.py:742 +#: common/models.py:743 msgid "No group" msgstr "" -#: common/models.py:784 +#: common/models.py:785 msgid "Restart required" msgstr "" -#: common/models.py:785 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:792 +#: common/models.py:793 msgid "Server Instance Name" msgstr "" -#: common/models.py:794 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:798 +#: common/models.py:799 msgid "Use instance name" msgstr "" -#: common/models.py:799 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:805 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:806 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:812 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "" -#: common/models.py:813 +#: common/models.py:814 msgid "Internal company name" msgstr "" -#: common/models.py:818 +#: common/models.py:819 msgid "Base URL" msgstr "" -#: common/models.py:819 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "" -#: common/models.py:825 +#: common/models.py:826 msgid "Default Currency" msgstr "" -#: common/models.py:826 +#: common/models.py:827 msgid "Default currency" msgstr "" -#: common/models.py:832 +#: common/models.py:833 msgid "Download from URL" msgstr "" -#: common/models.py:833 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:840 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:846 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:847 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:853 +#: common/models.py:854 msgid "IPN Regex" msgstr "" -#: common/models.py:854 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:858 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:865 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:866 +#: common/models.py:867 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:872 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:873 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:879 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:880 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:886 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:887 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:893 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:894 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:900 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:901 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "" -#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:908 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:914 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:915 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:921 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "" -#: common/models.py:922 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:928 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:929 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "" -#: common/models.py:935 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:936 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:942 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:943 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:949 +#: common/models.py:950 msgid "Show Import in Views" msgstr "" -#: common/models.py:950 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:956 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "" -#: common/models.py:957 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "" -#: common/models.py:968 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "" -#: common/models.py:969 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:980 +#: common/models.py:981 msgid "Show Price History" msgstr "" -#: common/models.py:981 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:987 +#: common/models.py:988 msgid "Show related parts" msgstr "" -#: common/models.py:988 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "" -#: common/models.py:994 +#: common/models.py:995 msgid "Create initial stock" msgstr "" -#: common/models.py:995 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1001 +#: common/models.py:1002 msgid "Internal Prices" msgstr "" -#: common/models.py:1002 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1008 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1009 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1015 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1016 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "" -#: common/models.py:1023 +#: common/models.py:1024 msgid "Enable Reports" msgstr "" -#: common/models.py:1024 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1030 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1031 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1037 +#: common/models.py:1038 msgid "Page Size" msgstr "" -#: common/models.py:1038 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1048 +#: common/models.py:1049 msgid "Test Reports" msgstr "" -#: common/models.py:1049 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1055 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "" -#: common/models.py:1056 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1061 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "" -#: common/models.py:1062 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1068 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1069 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1075 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1076 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1078 +#: common/models.py:1079 msgid "days" msgstr "" -#: common/models.py:1083 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1084 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1090 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1091 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1097 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1098 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1103 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1104 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1108 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1109 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1114 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1115 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1121 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "" -#: common/models.py:1122 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1128 +#: common/models.py:1129 msgid "Enable registration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1135 +#: common/models.py:1136 msgid "Enable SSO" msgstr "" -#: common/models.py:1136 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1142 +#: common/models.py:1143 msgid "Email required" msgstr "" -#: common/models.py:1143 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1149 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1150 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1156 +#: common/models.py:1157 msgid "Mail twice" msgstr "" -#: common/models.py:1157 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1163 +#: common/models.py:1164 msgid "Password twice" msgstr "" -#: common/models.py:1164 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1170 +#: common/models.py:1171 msgid "Group on signup" msgstr "" -#: common/models.py:1171 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1177 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "" -#: common/models.py:1178 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1184 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1185 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1193 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "" -#: common/models.py:1194 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1201 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1202 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1209 +#: common/models.py:1210 msgid "Enable app integration" msgstr "" -#: common/models.py:1210 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1217 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1218 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1225 +#: common/models.py:1226 msgid "Enable event integration" msgstr "" -#: common/models.py:1226 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1241 common/models.py:1535 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1272 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1273 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1279 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1280 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1286 +#: common/models.py:1287 msgid "Show latest parts" msgstr "" -#: common/models.py:1287 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1293 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "" -#: common/models.py:1294 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1300 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1301 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1307 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1308 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1314 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1315 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1321 +#: common/models.py:1322 msgid "Show low stock" msgstr "" -#: common/models.py:1322 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1328 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "" -#: common/models.py:1329 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1335 +#: common/models.py:1336 msgid "Show needed stock" msgstr "" -#: common/models.py:1336 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1342 +#: common/models.py:1343 msgid "Show expired stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1349 +#: common/models.py:1350 msgid "Show stale stock" msgstr "" -#: common/models.py:1350 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1356 +#: common/models.py:1357 msgid "Show pending builds" msgstr "" -#: common/models.py:1357 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1363 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "" -#: common/models.py:1364 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1370 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1371 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1377 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "" -#: common/models.py:1378 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1384 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1385 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1391 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1392 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1397 +#: common/models.py:1398 msgid "Enable label printing" msgstr "" -#: common/models.py:1398 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1404 +#: common/models.py:1405 msgid "Inline label display" msgstr "" -#: common/models.py:1405 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1411 +#: common/models.py:1412 msgid "Inline report display" msgstr "" -#: common/models.py:1412 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1418 +#: common/models.py:1419 msgid "Search Parts" msgstr "" -#: common/models.py:1419 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1425 +#: common/models.py:1426 msgid "Search Categories" msgstr "" -#: common/models.py:1426 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1432 +#: common/models.py:1433 msgid "Search Stock" msgstr "" -#: common/models.py:1433 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1439 +#: common/models.py:1440 msgid "Search Locations" msgstr "" -#: common/models.py:1440 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1446 +#: common/models.py:1447 msgid "Search Companies" msgstr "" -#: common/models.py:1447 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1453 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1454 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1460 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1461 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1467 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "" -#: common/models.py:1468 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1474 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1475 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1481 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1482 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1488 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1489 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1495 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1496 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1502 +#: common/models.py:1503 msgid "Date Format" msgstr "" -#: common/models.py:1503 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1517 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1518 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1576 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "" -#: common/models.py:1583 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1584 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1741 common/models.py:1880 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "" -#: common/models.py:1742 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "" -#: common/models.py:1756 part/models.py:988 plugin/models.py:47 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2410,216 +2405,216 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Token" msgstr "" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Token for access" msgstr "" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Secret" msgstr "" -#: common/models.py:1780 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1847 +#: common/models.py:1856 msgid "Message ID" msgstr "" -#: common/models.py:1848 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1856 +#: common/models.py:1865 msgid "Host" msgstr "" -#: common/models.py:1857 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1864 +#: common/models.py:1873 msgid "Header" msgstr "" -#: common/models.py:1865 +#: common/models.py:1874 msgid "Header of this message" msgstr "" -#: common/models.py:1871 +#: common/models.py:1880 msgid "Body" msgstr "" -#: common/models.py:1872 +#: common/models.py:1881 msgid "Body of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1886 +#: common/models.py:1895 msgid "Worked on" msgstr "" -#: common/models.py:1887 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:612 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2627,138 +2622,138 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693 +#: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2198 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440 +#: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680 +#: company/models.py:545 company/templates/company/supplier_part.html:97 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:636 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "" @@ -2813,11 +2808,11 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:655 -#: stock/models.py:656 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 msgid "Customer" @@ -2965,7 +2960,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2998,7 +2993,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3013,8 +3008,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "" @@ -3037,7 +3032,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "" @@ -3066,8 +3061,8 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:620 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3093,12 +3088,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "" @@ -3152,11 +3147,11 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3180,54 +3175,54 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3235,486 +3230,486 @@ msgstr "" msgid "No valid objects provided to template" msgstr "" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:258 +#: label/models.py:255 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:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1449 +#: order/models.py:258 order/templates/order/order_base.html:124 +#: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1155 -#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336 +#: order/models.py:617 order/models.py:1157 +#: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 -#: templates/js/translated/order.js:2727 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 +#: templates/js/translated/order.js:2718 msgid "Order" msgstr "" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 -#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418 +#: stock/templates/stock/item_base.html:342 +#: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "" -#: order/models.py:976 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795 +#: order/models.py:978 order/templates/order/order_base.html:169 +#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "" @@ -3834,10 +3829,10 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 -#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3928,7 +3923,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:122 -#: templates/js/translated/order.js:2151 +#: templates/js/translated/order.js:2142 msgid "Customer Reference" msgstr "" @@ -3952,7 +3947,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "" @@ -3960,73 +3955,73 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "" -#: part/api.py:1045 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1049 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1064 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1095 part/api.py:1099 part/api.py:1114 part/api.py:1118 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" @@ -4046,46 +4041,46 @@ msgstr "" msgid "On Order" msgstr "" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4096,65 +4091,65 @@ msgstr "" msgid "Parts" msgstr "" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4163,352 +4158,352 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "" @@ -4677,7 +4672,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "" @@ -4825,7 +4820,7 @@ msgstr "" msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "" @@ -4877,46 +4872,38 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4978,20 +4965,20 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "" @@ -5000,8 +4987,8 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "" @@ -5076,7 +5063,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3149 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5089,7 +5076,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "" @@ -5108,7 +5095,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "" @@ -5147,7 +5134,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "" @@ -5267,7 +5254,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "" @@ -5377,80 +5364,80 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "" @@ -5458,46 +5445,58 @@ msgstr "" msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" -#: plugin/barcode.py:53 plugin/barcode.py:154 +#: plugin/base/action/api.py:28 +msgid "No action specified" +msgstr "" + +#: plugin/base/action/api.py:39 +msgid "No matching action found" +msgstr "" + +#: plugin/base/barcodes/api.py:53 plugin/base/barcodes/api.py:153 msgid "Must provide barcode_data parameter" msgstr "" -#: plugin/barcode.py:130 +#: plugin/base/barcodes/api.py:129 msgid "No match found for barcode data" msgstr "" -#: plugin/barcode.py:132 +#: plugin/base/barcodes/api.py:131 msgid "Match found for barcode data" msgstr "" -#: plugin/barcode.py:157 +#: plugin/base/barcodes/api.py:156 msgid "Must provide stockitem parameter" msgstr "" -#: plugin/barcode.py:164 +#: plugin/base/barcodes/api.py:163 msgid "No matching stock item found" msgstr "" -#: plugin/barcode.py:195 +#: plugin/base/barcodes/api.py:193 msgid "Barcode already matches Stock Item" msgstr "" -#: plugin/barcode.py:199 +#: plugin/base/barcodes/api.py:197 msgid "Barcode already matches Stock Location" msgstr "" -#: plugin/barcode.py:203 +#: plugin/base/barcodes/api.py:201 msgid "Barcode already matches Part" msgstr "" -#: plugin/barcode.py:209 plugin/barcode.py:221 +#: plugin/base/barcodes/api.py:207 plugin/base/barcodes/api.py:219 msgid "Barcode hash already matches Stock Item" msgstr "" -#: plugin/barcode.py:227 +#: plugin/base/barcodes/api.py:225 msgid "Barcode associated with Stock Item" msgstr "" +#: plugin/base/label/label.py:40 +msgid "Label printing failed" +msgstr "" + #: plugin/builtin/integration/core_notifications.py:24 msgid "InvenTree contributors" msgstr "" @@ -5516,50 +5515,54 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/events.py:226 -msgid "Label printing failed" +#: plugin/models.py:36 +msgid "Plugin Metadata" msgstr "" -#: plugin/integration.py:146 -msgid "No author found" +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" msgstr "" -#: plugin/integration.py:160 -msgid "No date found" -msgstr "" - -#: plugin/models.py:27 +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:92 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:180 msgid "Plugin" msgstr "" -#: plugin/models.py:176 +#: plugin/models.py:254 msgid "Method" msgstr "" +#: plugin/plugin.py:247 +msgid "No author found" +msgstr "" + +#: plugin/plugin.py:261 +msgid "No date found" +msgstr "" + #: plugin/samples/integration/sample.py:42 msgid "Enable PO" msgstr "" @@ -5592,35 +5595,35 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "" @@ -5629,87 +5632,87 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "" @@ -5726,12 +5729,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:660 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844 -#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:108 templates/js/translated/order.js:2835 +#: templates/js/translated/order.js:2924 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "" @@ -5740,19 +5743,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2186 +#: stock/models.py:2190 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2192 +#: stock/models.py:2196 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345 +#: templates/js/translated/order.js:1468 templates/js/translated/stock.js:2345 msgid "Date" msgstr "" @@ -5775,362 +5778,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:755 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:756 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:561 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:604 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:613 +#: stock/models.py:617 msgid "Base part" msgstr "" -#: stock/models.py:621 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:627 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:630 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:637 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:643 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "" -#: stock/models.py:646 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:662 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:681 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "" -#: stock/models.py:690 +#: stock/models.py:694 msgid "Source Build" msgstr "" -#: stock/models.py:692 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "" -#: stock/models.py:703 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:706 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:712 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:718 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:719 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:732 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "" -#: stock/models.py:732 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:742 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:751 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:783 +#: stock/models.py:787 msgid "Converted to part" msgstr "" -#: stock/models.py:1303 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1309 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1315 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1318 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1399 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1402 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1405 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1408 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1411 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1414 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1421 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1429 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1605 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2106 +#: stock/models.py:2110 msgid "Entry notes" msgstr "" -#: stock/models.py:2163 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2169 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2187 +#: stock/models.py:2191 msgid "Test name" msgstr "" -#: stock/models.py:2193 +#: stock/models.py:2197 msgid "Test result" msgstr "" -#: stock/models.py:2199 +#: stock/models.py:2203 msgid "Test output value" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "" -#: stock/models.py:2212 +#: stock/models.py:2216 msgid "Test notes" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "" @@ -6155,7 +6158,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" @@ -6179,194 +6182,198 @@ msgstr "" msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 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:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -6387,54 +6394,58 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6487,7 +6498,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "" @@ -6512,55 +6523,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "" @@ -6829,7 +6840,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" @@ -7278,9 +7289,9 @@ msgid "InvenTree Version Information" msgstr "" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7522,15 +7533,15 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "" @@ -7552,13 +7563,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7594,11 +7605,11 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "" @@ -7610,27 +7621,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "" @@ -7642,11 +7653,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7715,7 +7726,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "" @@ -7784,178 +7795,182 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "" @@ -8098,12 +8113,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:2881 +#: templates/js/translated/order.js:2872 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:2882 +#: templates/js/translated/order.js:2873 msgid "Delete stock allocation" msgstr "" @@ -8132,11 +8147,11 @@ msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3159 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248 +#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3239 msgid "Build stock" msgstr "" @@ -8144,21 +8159,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241 +#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3232 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457 +#: templates/js/translated/order.js:634 templates/js/translated/order.js:2448 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458 +#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2449 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2397 msgid "Specify stock allocation quantity" msgstr "" @@ -8170,7 +8185,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2463 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8178,11 +8193,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520 +#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2511 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597 +#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2588 msgid "No matching stock items" msgstr "" @@ -8370,61 +8385,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "" @@ -8482,78 +8497,78 @@ msgstr "" msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "" @@ -8763,209 +8778,209 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1409 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128 +#: templates/js/translated/order.js:1434 templates/js/translated/order.js:2119 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193 -#: templates/js/translated/order.js:2323 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:2184 +#: templates/js/translated/order.js:2314 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300 +#: templates/js/translated/order.js:1558 templates/js/translated/order.js:3291 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322 +#: templates/js/translated/order.js:1575 templates/js/translated/order.js:3313 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333 +#: templates/js/translated/order.js:1588 templates/js/translated/order.js:3324 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1631 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057 +#: templates/js/translated/order.js:1658 templates/js/translated/order.js:3048 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925 -#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565 +#: templates/js/translated/order.js:1712 templates/js/translated/order.js:1914 +#: templates/js/translated/order.js:3073 templates/js/translated/order.js:3556 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941 -#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581 +#: templates/js/translated/order.js:1727 templates/js/translated/order.js:1930 +#: templates/js/translated/order.js:3089 templates/js/translated/order.js:3572 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140 +#: templates/js/translated/order.js:1768 templates/js/translated/order.js:3131 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:1827 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:1831 templates/js/translated/order.js:3245 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255 +#: templates/js/translated/order.js:1832 templates/js/translated/order.js:3246 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259 +#: templates/js/translated/order.js:1833 templates/js/translated/order.js:3250 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630 +#: templates/js/translated/order.js:1979 templates/js/translated/order.js:3621 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631 +#: templates/js/translated/order.js:1980 templates/js/translated/order.js:3622 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632 +#: templates/js/translated/order.js:1981 templates/js/translated/order.js:3623 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662 +#: templates/js/translated/order.js:2011 templates/js/translated/order.js:3653 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683 +#: templates/js/translated/order.js:2032 templates/js/translated/order.js:3674 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694 +#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3685 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2065 +#: templates/js/translated/order.js:2054 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2104 +#: templates/js/translated/order.js:2095 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2142 +#: templates/js/translated/order.js:2133 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2220 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2232 +#: templates/js/translated/order.js:2223 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2237 +#: templates/js/translated/order.js:2228 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2257 +#: templates/js/translated/order.js:2248 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2274 +#: templates/js/translated/order.js:2265 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2308 +#: templates/js/translated/order.js:2299 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2318 +#: templates/js/translated/order.js:2309 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2333 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2348 +#: templates/js/translated/order.js:2339 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2507 +#: templates/js/translated/order.js:2498 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:2508 +#: templates/js/translated/order.js:2499 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2716 +#: templates/js/translated/order.js:2707 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2797 +#: templates/js/translated/order.js:2788 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2814 +#: templates/js/translated/order.js:2805 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:2815 +#: templates/js/translated/order.js:2806 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947 +#: templates/js/translated/order.js:2849 templates/js/translated/order.js:2938 #: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956 +#: templates/js/translated/order.js:2857 templates/js/translated/order.js:2947 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3238 +#: templates/js/translated/order.js:3229 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3244 +#: templates/js/translated/order.js:3235 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447 +#: templates/js/translated/order.js:3242 templates/js/translated/order.js:3438 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3263 +#: templates/js/translated/order.js:3254 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3266 +#: templates/js/translated/order.js:3257 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3348 +#: templates/js/translated/order.js:3339 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3455 +#: templates/js/translated/order.js:3446 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3469 +#: templates/js/translated/order.js:3460 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3705 +#: templates/js/translated/order.js:3696 msgid "No matching lines" msgstr "" @@ -9227,7 +9242,7 @@ msgstr "" msgid "Single Price Difference" msgstr "" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index e20d2ab457..addb972962 100644 --- a/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/InvenTree/locale/ru/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-15 23:30+0000\n" -"PO-Revision-Date: 2022-05-16 01:10\n" +"POT-Creation-Date: 2022-05-16 14:52+0000\n" +"PO-Revision-Date: 2022-05-17 01:05\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -17,56 +17,56 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:53 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "Конечная точка API не обнаружена" -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "Введите дату" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "Подтвердить" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "Подтвердите удаление" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "Подтвердите удаление элемента" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "Введите пароль" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "Введите новый пароль" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "Подтвердить пароль" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "Подтвердите новый пароль" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "Выбрать категорию" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "Email (еще раз)" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "Подтверждение адреса электронной почты" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "Вы должны вводить один и тот же адрес электронной почты." @@ -75,7 +75,7 @@ msgstr "Вы должны вводить один и тот же адрес эл msgid "Duplicate serial: {sn}" msgstr "Повторяющийся серийный номер: {sn}" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "недопустимое количество" @@ -120,7 +120,7 @@ msgstr "Файл не найден" msgid "Missing external link" msgstr "Отсутствует внешняя ссылка" -#: InvenTree/models.py:197 stock/models.py:2212 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "Вложения" @@ -129,16 +129,16 @@ msgstr "Вложения" msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "Ссылка" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:677 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "Ссылка на внешний URL" @@ -150,10 +150,10 @@ msgstr "Комментарий" msgid "File comment" msgstr "Комментарий к файлу" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 -#: common/models.py:1547 common/models.py:1778 common/models.py:1779 -#: common/models.py:2006 common/models.py:2007 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -192,9 +192,9 @@ msgstr "Ошибка переименования файла" msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:43 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -207,19 +207,19 @@ msgstr "Неверный выбор" msgid "Name" msgstr "Название" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 @@ -239,56 +239,56 @@ msgstr "Описание (необязательно)" msgid "parent" msgstr "родитель" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "Должно быть действительным номером" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "Имя файла" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "Неверное значение" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "Файл данных" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "Выберите файл данных для загрузки" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "Неподдерживаемый тип файла" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "Файл слишком большой" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "Столбцы в файле не найдены" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "Строки данных в файле не найдены" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "Строки данных в файле не найдены" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Повторяющийся столбец: '{col}'" @@ -431,7 +431,7 @@ msgstr "Потерян" msgid "Returned" msgstr "Возвращено" -#: InvenTree/status_codes.py:143 order/models.py:1068 +#: InvenTree/status_codes.py:143 order/models.py:1070 #: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "Доставлено" @@ -584,42 +584,42 @@ msgstr "Перегрузка не может превысить 100%" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "Удалить элемент" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "Установите флажок для подтверждения удаления элемента" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Редактировать информацию о пользователе" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Установить пароль" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "Пароли должны совпадать" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "Информация о системе" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "Неверный выбор для родительской сборки" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "Порядок сборки" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -629,40 +629,41 @@ msgstr "Порядок сборки" msgid "Build Orders" msgstr "Порядок сборки" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "Ссылка на заказ" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 -#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "Отсылка" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "Краткое описание сборки" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Родительская сборка" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -673,10 +674,11 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 @@ -689,132 +691,132 @@ msgstr "" msgid "Part" msgstr "Детали" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "Выберите часть для сборки" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "Отсылка на заказ" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:249 build/serializers.py:794 +#: build/models.py:247 build/serializers.py:791 #: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "Расположение источника" -#: build/models.py:253 +#: 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:258 +#: build/models.py:256 msgid "Destination Location" msgstr "Место назначения" -#: build/models.py:262 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "Выберите место хранения завершенных элементов" -#: build/models.py:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "Количество сборки" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "Количество складских предметов для сборки" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "Завершенные предметы" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "Количество предметов на складе, которые были завершены" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "Статус сборки" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "Код статуса сборки" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:681 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "Код партии" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "Код партии для этого вывода сборки" -#: build/models.py:294 order/models.py:134 part/models.py:1009 +#: build/models.py:292 order/models.py:136 part/models.py:1007 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "Дата создания" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "Целевая дата завершения" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты." -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "Дата завершения" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "выполнено" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "Выдал/ла" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "Пользователь, выпустивший этот заказ на сборку" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "Ответственный" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "Пользователь, ответственный за этот заказ сборки" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:675 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "Внешняя ссылка" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 #: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 #: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 #: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 @@ -822,62 +824,62 @@ msgstr "Внешняя ссылка" msgid "Notes" msgstr "Заметки" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "Дополнительные заметки к сборке" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "Вывод сборки не указан" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "Вывод сборки уже завершен" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "Вывод сборки не совпадает с порядком сборки" -#: build/models.py:1214 +#: build/models.py:1212 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Элемент сборки должен указать вывод сборки, так как основная часть помечена как отслеживаемая" -#: build/models.py:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "Предмет на складе перераспределен" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "Выделенное количество должно быть больше нуля" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "Количество должно быть 1 для сериализованных запасов" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "Выбранная единица хранения не найдена в BOM" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "Сборка" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 @@ -888,18 +890,18 @@ msgstr "" msgid "Stock Item" msgstr "Предметы на складе" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "Исходный складской предмет" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1589 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -907,13 +909,14 @@ msgstr "Исходный складской предмет" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 @@ -928,87 +931,87 @@ msgstr "Исходный складской предмет" msgid "Quantity" msgstr "Количество" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "Введите количество для вывода сборки" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "Серийные номера" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "Введите серийные номера для результатов сборки" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 @@ -1020,13 +1023,13 @@ msgstr "" msgid "Location" msgstr "Расположение" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 #: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 @@ -1034,129 +1037,129 @@ msgstr "" msgid "Status" msgstr "Статус" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "BOM Компонент" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "Компонент должен быть в наличии" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Превышено доступное количество ({q})" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "" @@ -1226,7 +1229,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 @@ -1259,13 +1262,13 @@ msgid "Completed" msgstr "Завершённые" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:297 #: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "Заказ покупателя" @@ -1301,7 +1304,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:990 +#: build/templates/build/detail.html:49 order/models.py:992 #: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "Назначение" @@ -1315,7 +1318,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1432,12 +1435,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "Печать" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1503,7 +1506,7 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "Удалить заказ на сборку" @@ -1527,873 +1530,873 @@ msgstr "Ошибка чтения файла (неверный размер)" msgid "Error reading file (data could be corrupted)" msgstr "Ошибка чтения файла (данные могут быть повреждены)" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "Файл" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "Выберите файл для загрузки" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "Выберите {name} файл для загрузки" -#: common/models.py:401 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:403 +#: common/models.py:400 msgid "Settings value" msgstr "" -#: common/models.py:444 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:464 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:475 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "" -#: common/models.py:524 +#: common/models.py:521 msgid "Key string must be unique" msgstr "" -#: common/models.py:746 +#: common/models.py:743 msgid "No group" msgstr "" -#: common/models.py:788 +#: common/models.py:785 msgid "Restart required" msgstr "Требуется перезапуск" -#: common/models.py:789 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:796 +#: common/models.py:793 msgid "Server Instance Name" msgstr "" -#: common/models.py:798 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:802 +#: common/models.py:799 msgid "Use instance name" msgstr "" -#: common/models.py:803 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:809 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:810 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:816 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "Название компании" -#: common/models.py:817 +#: common/models.py:814 msgid "Internal company name" msgstr "Внутреннее название компании" -#: common/models.py:822 +#: common/models.py:819 msgid "Base URL" msgstr "Базовая ссылка" -#: common/models.py:823 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "Базовая ссылка для экземпляра сервера" -#: common/models.py:829 +#: common/models.py:826 msgid "Default Currency" msgstr "Валюта по умолчанию" -#: common/models.py:830 +#: common/models.py:827 msgid "Default currency" msgstr "Валюта по умолчанию" -#: common/models.py:836 +#: common/models.py:833 msgid "Download from URL" msgstr "Скачать по ссылке" -#: common/models.py:837 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:844 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:850 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:851 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:857 +#: common/models.py:854 msgid "IPN Regex" msgstr "" -#: common/models.py:858 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "Разрешить повторяющиеся IPN" -#: common/models.py:863 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:869 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "Разрешить редактирование IPN" -#: common/models.py:870 +#: common/models.py:867 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:876 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:877 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:884 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:891 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:897 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:898 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:904 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Шаблон" -#: common/models.py:905 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "По умолчанию детали являются шаблонами" -#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Сборка" -#: common/models.py:912 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:918 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Компонент" -#: common/models.py:919 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:925 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "" -#: common/models.py:926 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:932 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Можно продавать" -#: common/models.py:933 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "" -#: common/models.py:939 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Отслеживание" -#: common/models.py:940 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:946 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:947 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:953 +#: common/models.py:950 msgid "Show Import in Views" msgstr "" -#: common/models.py:954 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:960 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "Показывать цену в формах" -#: common/models.py:961 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "" -#: common/models.py:972 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "Показывать цену в BOM" -#: common/models.py:973 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:984 +#: common/models.py:981 msgid "Show Price History" msgstr "Показывать историю цены" -#: common/models.py:985 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:991 +#: common/models.py:988 msgid "Show related parts" msgstr "Показывать связанные детали" -#: common/models.py:992 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "" -#: common/models.py:998 +#: common/models.py:995 msgid "Create initial stock" msgstr "" -#: common/models.py:999 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1005 +#: common/models.py:1002 msgid "Internal Prices" msgstr "" -#: common/models.py:1006 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1012 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1013 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1019 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1020 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "" -#: common/models.py:1027 +#: common/models.py:1024 msgid "Enable Reports" msgstr "" -#: common/models.py:1028 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1034 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "Режим отладки" -#: common/models.py:1035 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1041 +#: common/models.py:1038 msgid "Page Size" msgstr "" -#: common/models.py:1042 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:1049 msgid "Test Reports" msgstr "" -#: common/models.py:1053 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1059 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "" -#: common/models.py:1060 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1065 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "" -#: common/models.py:1066 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1072 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1073 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1079 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1080 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1082 +#: common/models.py:1079 msgid "days" msgstr "" -#: common/models.py:1087 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1088 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1094 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1095 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1101 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1102 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1107 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1108 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1112 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1113 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1118 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1129 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1136 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1143 msgid "Email required" msgstr "Необходимо указать EMail" -#: common/models.py:1147 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1157 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1164 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1171 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1210 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1226 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1539 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "Показывать детали, на которые включены уведомления" -#: common/models.py:1277 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "Показывать детали, на которые включены уведомления, на главной странице" -#: common/models.py:1283 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "Показывать категории, на которые включены уведомления" -#: common/models.py:1284 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "Показывать категории, на которые включены уведомления, на главной странице" -#: common/models.py:1290 +#: common/models.py:1287 msgid "Show latest parts" msgstr "Показывать последние детали" -#: common/models.py:1291 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "Показывать последние детали на главной странице" -#: common/models.py:1297 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "Показывать непроверенные BOMы" -#: common/models.py:1305 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "Показывать BOMы, ожидающие проверки, на главной странице" -#: common/models.py:1311 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "Показывать изменившиеся складские запасы" -#: common/models.py:1312 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "Показывать единицы хранения с недавно изменившимися складскими запасами на главной странице" -#: common/models.py:1318 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1322 msgid "Show low stock" msgstr "Показывать низкие складские запасы" -#: common/models.py:1326 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "Показывать единицы хранения с низкими складскими запасами на главной странице" -#: common/models.py:1332 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "Показывать закончившиеся детали" -#: common/models.py:1333 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "Показывать закончившиеся на складе единицы хранения на главной странице" -#: common/models.py:1339 +#: common/models.py:1336 msgid "Show needed stock" msgstr "Показывать требуемые детали" -#: common/models.py:1340 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "Показывать требуемые для сборки единицы хранения на главной странице" -#: common/models.py:1346 +#: common/models.py:1343 msgid "Show expired stock" msgstr "Показывать просрочку" -#: common/models.py:1347 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "Показывать единицы хранения с истёкшим сроком годности на главной странице" -#: common/models.py:1353 +#: common/models.py:1350 msgid "Show stale stock" msgstr "Показывать залежалые" -#: common/models.py:1354 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "Показывать залежалые единицы хранения на главной странице" -#: common/models.py:1360 +#: common/models.py:1357 msgid "Show pending builds" msgstr "Показывать незавершённые сборки" -#: common/models.py:1361 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "Показывать незавершённые сборки на главной странице" -#: common/models.py:1367 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "Показывать просроченные сборки" -#: common/models.py:1368 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "Показывать просроченные сборки на главной странице" -#: common/models.py:1374 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1398 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1405 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1412 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1419 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1426 msgid "Search Categories" msgstr "" -#: common/models.py:1430 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1433 msgid "Search Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1440 msgid "Search Locations" msgstr "" -#: common/models.py:1444 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1447 msgid "Search Companies" msgstr "" -#: common/models.py:1451 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1458 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1465 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "" -#: common/models.py:1472 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1479 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1486 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1492 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1493 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1499 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1500 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1506 +#: common/models.py:1503 msgid "Date Format" msgstr "" -#: common/models.py:1507 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1521 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1522 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1590 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "" -#: common/models.py:1597 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "Цена" -#: common/models.py:1598 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1755 common/models.py:1892 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "" -#: common/models.py:1756 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1765 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "" -#: common/models.py:1770 part/models.py:988 plugin/models.py:49 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2401,216 +2404,216 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "" -#: common/models.py:1785 +#: common/models.py:1782 msgid "Token" msgstr "" -#: common/models.py:1786 +#: common/models.py:1783 msgid "Token for access" msgstr "" -#: common/models.py:1793 +#: common/models.py:1790 msgid "Secret" msgstr "" -#: common/models.py:1794 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1859 +#: common/models.py:1856 msgid "Message ID" msgstr "" -#: common/models.py:1860 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1868 +#: common/models.py:1865 msgid "Host" msgstr "" -#: common/models.py:1869 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1876 +#: common/models.py:1873 msgid "Header" msgstr "" -#: common/models.py:1877 +#: common/models.py:1874 msgid "Header of this message" msgstr "" -#: common/models.py:1883 +#: common/models.py:1880 msgid "Body" msgstr "" -#: common/models.py:1884 +#: common/models.py:1881 msgid "Body of this message" msgstr "" -#: common/models.py:1893 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1898 +#: common/models.py:1895 msgid "Worked on" msgstr "" -#: common/models.py:1899 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Загрузить файл" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "Детали импортированы" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "Предыдущий шаг" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "Ссылка" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "Ссылка на изображение" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "Описание компании" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "Описание компании" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "Сайт" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "Сайт компании" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "Адрес" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "Адрес компании" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "Телефон" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "Контактный телефон" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "EMail" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "Контактный EMail" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "Контакт" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "Контактное лицо" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "Ссылка на описание компании" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "Изображение" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "покупатель" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "Вы продаёте детали этой компании?" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "поставщик" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "Вы закупаете детали у этой компании?" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "производитель" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "Является ли компания производителем деталей?" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "Валюта" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "Для этой компании используется валюта по умолчанию" -#: company/models.py:317 company/models.py:532 stock/models.py:619 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "Базовая деталь" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "Выберите деталь" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2618,11 +2621,11 @@ msgstr "Выберите деталь" msgid "Manufacturer" msgstr "Производитель" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "Выберите производителя" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 @@ -2630,59 +2633,59 @@ msgstr "Выберите производителя" msgid "MPN" msgstr "" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "Код производителя" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "Ссылка на сайт производителя" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "Деталь производителя" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "Наименование параметра" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2205 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "Значение" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "Значение параметра" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "Ед.изм" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "Единицы измерения" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 @@ -2690,66 +2693,66 @@ msgstr "" msgid "Supplier" msgstr "Поставщик" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "Выберите поставщика" -#: company/models.py:548 company/templates/company/supplier_part.html:97 +#: company/models.py:545 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "Код поставщика" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "Ссылка на сайт поставщика" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "Заметка" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:643 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "Упаковка" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "" @@ -2804,10 +2807,10 @@ msgstr "Загрузить новое изображение" msgid "Download image from URL" msgstr "Скачать изображение по ссылке" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:662 -#: stock/models.py:663 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 @@ -2956,7 +2959,7 @@ msgstr "Все выбранные детали поставщика будут msgid "Supplier List" msgstr "Список поставщиков" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2989,7 +2992,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3004,8 +3007,8 @@ msgstr "Удалить деталь поставщика" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "Удалить" @@ -3028,7 +3031,7 @@ msgid "Delete parameters" msgstr "Удалить параметры" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "Добавить параметр" @@ -3057,8 +3060,8 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:627 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3084,12 +3087,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "Создать единицу хранения" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "Новая единица хранения" @@ -3143,11 +3146,11 @@ msgstr "Последнее обновление" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3171,54 +3174,54 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "Детали на складе" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "Новый поставщик" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "Новый производитель" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "Покупатели" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "Новый покупатель" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "Компании" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "Новая компания" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "Скачать изображение" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3226,486 +3229,486 @@ msgstr "" msgid "No valid objects provided to template" msgstr "" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "Ширина [мм]" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "Высота [мм]" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:258 +#: label/models.py:255 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:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "Фильтры" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "Компания, в которой детали заказываются" -#: order/models.py:256 order/templates/order/order_base.html:124 +#: order/models.py:258 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "Компания, которой детали продаются" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1155 +#: order/models.py:617 order/models.py:1157 #: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 #: templates/js/translated/order.js:2718 msgid "Order" msgstr "" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 +#: stock/templates/stock/item_base.html:342 #: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "Заказ на закупку" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "" -#: order/models.py:976 order/templates/order/order_base.html:169 +#: order/models.py:978 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "Закупочная цена" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "Цена продажи" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "Курс покупки валюты" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "Введите код партии для поступающих единиц хранения" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "Курс продажи валюты" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "" @@ -3825,7 +3828,7 @@ msgstr "Выберите деталь поставщика" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 @@ -3943,7 +3946,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "Действия" @@ -3951,73 +3954,73 @@ msgstr "Действия" msgid "New Shipment" msgstr "" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "Заказ на продажу не найден" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "Цена не найдена" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "" -#: part/api.py:1037 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1041 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1056 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "Место хранения по умолчанию" @@ -4037,46 +4040,46 @@ msgstr "Доступный запас" msgid "On Order" msgstr "" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "Выберите категорию" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "Место хранения по умолчанию для деталей этой категории" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "Ключевые слова по умолчанию" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "Ключевые слова по умолчанию для деталей этой категории" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Категория детали" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4087,65 +4090,65 @@ msgstr "" msgid "Parts" msgstr "Детали" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "Наименование детали" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "Шаблон" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "Эта деталь является шаблоном для других деталей?" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "Эта деталь является разновидностью другой детали?" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "Разновидность" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "Описание детали" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "Ключевые слова" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "Ключевые слова для улучшения видимости в результатах поиска" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4154,352 +4157,352 @@ msgstr "Ключевые слова для улучшения видимости msgid "Category" msgstr "Категория" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "Категория" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "Внутренний код детали" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "Версия детали" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "Версия" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "Где обычно хранится эта деталь?" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "Минимальный запас" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "Минимально допустимый складской запас" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "Может ли эта деталь быть создана из других деталей?" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "Может ли эта деталь использоваться для создания других деталей?" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "Может ли эта деталь быть продана покупателям?" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "Эта деталь актуальна?" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "Эта деталь виртуальная, как программный продукт или лицензия?" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "Заметки о детали (поддерживается разметка Markdown)" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "Родительская деталь" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "Шаблон параметра" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "Артикул или наименование детали" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "Артикул" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "Наименование детали" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "IPN" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "Значение IPN" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "Разрешить разновидности" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "Часть 1" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "Часть 2" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "Валюта покупки этой единицы хранения" @@ -4668,7 +4671,7 @@ msgstr "Детали (включая подкатегории)" msgid "Create new part" msgstr "Создать новую деталь" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "Новая деталь" @@ -4816,7 +4819,7 @@ msgstr "Спецификация" msgid "Export actions" msgstr "Экспорт" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "Экспорт BOM" @@ -4868,46 +4871,38 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4969,20 +4964,20 @@ msgid "Subscribe to notifications for this part" msgstr "Включить уведомления для данной детали" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "Действия со штрих-кодом" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "" @@ -4991,8 +4986,8 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "Действия со складом" @@ -5080,7 +5075,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "" @@ -5099,7 +5094,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "" @@ -5138,7 +5133,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "" @@ -5257,7 +5252,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "" @@ -5367,80 +5362,80 @@ msgstr "Неизвестная база данных" msgid "{title} v{version}" msgstr "" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "Укажите категорию" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "Изображение детали не найдено" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "Деталь была удалена" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "Удалить категорию" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "Категория удалена" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "" @@ -5518,35 +5513,43 @@ msgstr "Включить уведомления по электронной по msgid "Allow sending of emails for event notifications" msgstr "Разрешить отправку уведомлений о событиях по электронной почте" -#: plugin/models.py:29 +#: plugin/models.py:36 +msgid "Plugin Metadata" +msgstr "" + +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" +msgstr "" + +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:92 msgid "Key" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "" -#: plugin/models.py:44 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:50 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:123 +#: plugin/models.py:180 msgid "Plugin" msgstr "" -#: plugin/models.py:197 +#: plugin/models.py:254 msgid "Method" msgstr "" @@ -5590,35 +5593,35 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "Исходная ссылка" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "" @@ -5627,87 +5630,87 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "Название шаблона" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "Файл шаблона отчёта" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "" @@ -5724,7 +5727,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:667 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 @@ -5738,12 +5741,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2193 +#: stock/models.py:2190 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2199 +#: stock/models.py:2196 msgid "Result" msgstr "" @@ -5773,362 +5776,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:762 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:763 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:568 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:611 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "Родительская единица хранения" -#: stock/models.py:620 +#: stock/models.py:617 msgid "Base part" msgstr "Базовая деталь" -#: stock/models.py:628 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:634 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Место хранения" -#: stock/models.py:637 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:644 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:650 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "" -#: stock/models.py:653 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:669 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "" -#: stock/models.py:683 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "Код партии для этой единицы хранения" -#: stock/models.py:688 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "" -#: stock/models.py:697 +#: stock/models.py:694 msgid "Source Build" msgstr "Исходная сборка" -#: stock/models.py:699 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "" -#: stock/models.py:710 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:713 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:719 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:725 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:726 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "Удалить при обнулении" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "Удалить эту единицу хранения при обнулении складского запаса" -#: stock/models.py:749 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "Заметки о единице хранения" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:790 +#: stock/models.py:787 msgid "Converted to part" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "Деталь не является отслеживаемой" -#: stock/models.py:1316 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1322 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1325 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1428 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1612 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2113 +#: stock/models.py:2110 msgid "Entry notes" msgstr "" -#: stock/models.py:2170 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2176 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2194 +#: stock/models.py:2191 msgid "Test name" msgstr "" -#: stock/models.py:2200 +#: stock/models.py:2197 msgid "Test result" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2203 msgid "Test output value" msgstr "" -#: stock/models.py:2213 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "" -#: stock/models.py:2219 +#: stock/models.py:2216 msgid "Test notes" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "Серийные номера уже существуют" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "Выбранная деталь отсутствует в спецификации" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "Выбранная компания не является покупателем" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "" @@ -6153,7 +6156,7 @@ msgstr "Эта единица хранения не имеет дочерних msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" @@ -6177,194 +6180,198 @@ msgstr "Установить единицу хранения" msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "Удалить единицу хранения" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "Установить единицу хранения" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "Преобразовать в разновидность" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "Дублировать единицу хранения" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "Редактировать единицу хранения" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "Удалить единицу хранения" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 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:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "Родительский элемент" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -6385,54 +6392,58 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "Действия с местом хранения" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "Редактировать место хранения" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "Удалить место хранения" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "Создать новое место хранения" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "Новое место хранения" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "Ответственный за место хранения" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Места хранения" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "Места хранения" @@ -6485,7 +6496,7 @@ msgstr "Места хранения" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "" @@ -6510,55 +6521,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "" @@ -6827,7 +6838,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" @@ -7276,9 +7287,9 @@ msgid "InvenTree Version Information" msgstr "" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7518,15 +7529,15 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "" @@ -7548,13 +7559,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7590,11 +7601,11 @@ msgstr "Удалённый сервер должен быть доступен" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "" @@ -7606,27 +7617,27 @@ msgstr "Ошибка 400: Некорректный запрос" msgid "API request returned error code 400" msgstr "API-запрос вернул код ошибки 400" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "Ошибка 401: Авторизация не выполнена" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "Ошибка 403: Доступ запрещён" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 msgid "You do not have the required permissions to access this function" msgstr "У вас нет прав доступа к этой функции" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "Ошибка 404: Ресурс не найден" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "" @@ -7638,11 +7649,11 @@ msgstr "Ошибка 405: Метод не разрешён" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "Ошибка 408: Таймаут" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7711,7 +7722,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "" @@ -7780,178 +7791,182 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "Скачать шаблон BOM" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "Редактировать элемент BOM" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "Удалить элемент BOM" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "Элементы BOM не найдены" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "Вы уверены, что хотите удалить этот элемент BOM?" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "Унаследовано от родительского BOM" @@ -8366,61 +8381,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "Операция создания не разрешена" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "Операция обновления не разрешена" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "Операция удаления не разрешена" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "Операция просмотра не разрешена" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Форма содержит ошибки" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "Не найдено" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "" @@ -8478,78 +8493,78 @@ msgstr "" msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "Отменить" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "Подтвердить" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "Ошибка отправки данных формы" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "Ошибка 400: Некорректный запрос" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "Сервер вернул код ошибки 400" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "Ошибка запроса данных формы" @@ -9223,7 +9238,7 @@ msgstr "" msgid "Single Price Difference" msgstr "" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index 2e9efc33b3..f547ff2053 100644 --- a/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/InvenTree/locale/sv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-15 23:30+0000\n" -"PO-Revision-Date: 2022-05-16 01:10\n" +"POT-Creation-Date: 2022-05-16 14:52+0000\n" +"PO-Revision-Date: 2022-05-17 01:05\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -17,56 +17,56 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:53 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "API-slutpunkt hittades inte" -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "Ange datum" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "Bekräfta" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "Bekräfta borttagning" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "Bekräfta borttagning av artikel" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "Ange lösenord" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "Ange nytt lösenord" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "Bekräfta lösenord" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "Bekräfta nytt lösenord" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "Välj Kategori" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "" @@ -75,7 +75,7 @@ msgstr "" msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "Ogiltigt antal angivet" @@ -120,7 +120,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2212 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "Bilaga" @@ -129,16 +129,16 @@ msgstr "Bilaga" msgid "Select file to attach" msgstr "Välj fil att bifoga" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:677 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "" @@ -150,10 +150,10 @@ msgstr "Kommentar" msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 -#: common/models.py:1547 common/models.py:1778 common/models.py:1779 -#: common/models.py:2006 common/models.py:2007 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -192,9 +192,9 @@ msgstr "Fel vid namnbyte av fil" msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:43 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -207,19 +207,19 @@ msgstr "Ogiltigt val" msgid "Name" msgstr "Namn" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 @@ -239,56 +239,56 @@ msgstr "Beskrivning (valfritt)" msgid "parent" msgstr "överordnad" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "Filnamn" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -431,7 +431,7 @@ msgstr "Förlorad" msgid "Returned" msgstr "Återlämnad" -#: InvenTree/status_codes.py:143 order/models.py:1068 +#: InvenTree/status_codes.py:143 order/models.py:1070 #: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "Skickad" @@ -584,42 +584,42 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -629,40 +629,41 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 -#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -673,10 +674,11 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 @@ -689,132 +691,132 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:249 build/serializers.py:794 +#: build/models.py:247 build/serializers.py:791 #: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" -#: build/models.py:253 +#: 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:258 +#: build/models.py:256 msgid "Destination Location" msgstr "" -#: build/models.py:262 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:681 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "" -#: build/models.py:294 order/models.py:134 part/models.py:1009 +#: build/models.py:292 order/models.py:136 part/models.py:1007 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:675 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 #: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 #: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 #: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 @@ -822,62 +824,62 @@ msgstr "" msgid "Notes" msgstr "" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1214 +#: build/models.py:1212 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 @@ -888,18 +890,18 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1589 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -907,13 +909,14 @@ msgstr "" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 @@ -928,87 +931,87 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 @@ -1020,13 +1023,13 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 #: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 @@ -1034,129 +1037,129 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "" @@ -1226,7 +1229,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 @@ -1259,13 +1262,13 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:297 #: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1301,7 +1304,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:990 +#: build/templates/build/detail.html:49 order/models.py:992 #: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1315,7 +1318,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1432,12 +1435,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1503,7 +1506,7 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "" @@ -1527,873 +1530,873 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:401 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:403 +#: common/models.py:400 msgid "Settings value" msgstr "" -#: common/models.py:444 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:464 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:475 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "" -#: common/models.py:524 +#: common/models.py:521 msgid "Key string must be unique" msgstr "" -#: common/models.py:746 +#: common/models.py:743 msgid "No group" msgstr "" -#: common/models.py:788 +#: common/models.py:785 msgid "Restart required" msgstr "" -#: common/models.py:789 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:796 +#: common/models.py:793 msgid "Server Instance Name" msgstr "" -#: common/models.py:798 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:802 +#: common/models.py:799 msgid "Use instance name" msgstr "" -#: common/models.py:803 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:809 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:810 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:816 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "" -#: common/models.py:817 +#: common/models.py:814 msgid "Internal company name" msgstr "" -#: common/models.py:822 +#: common/models.py:819 msgid "Base URL" msgstr "" -#: common/models.py:823 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "" -#: common/models.py:829 +#: common/models.py:826 msgid "Default Currency" msgstr "" -#: common/models.py:830 +#: common/models.py:827 msgid "Default currency" msgstr "" -#: common/models.py:836 +#: common/models.py:833 msgid "Download from URL" msgstr "" -#: common/models.py:837 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:844 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:850 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:851 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:857 +#: common/models.py:854 msgid "IPN Regex" msgstr "" -#: common/models.py:858 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:869 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:870 +#: common/models.py:867 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:876 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:877 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:884 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:891 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:897 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:898 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:904 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:905 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "" -#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:912 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:918 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:919 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:925 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "" -#: common/models.py:926 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:932 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:933 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "" -#: common/models.py:939 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:940 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:946 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:947 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:953 +#: common/models.py:950 msgid "Show Import in Views" msgstr "" -#: common/models.py:954 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:960 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "" -#: common/models.py:961 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "" -#: common/models.py:972 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "" -#: common/models.py:973 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:984 +#: common/models.py:981 msgid "Show Price History" msgstr "" -#: common/models.py:985 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:991 +#: common/models.py:988 msgid "Show related parts" msgstr "" -#: common/models.py:992 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "" -#: common/models.py:998 +#: common/models.py:995 msgid "Create initial stock" msgstr "" -#: common/models.py:999 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1005 +#: common/models.py:1002 msgid "Internal Prices" msgstr "" -#: common/models.py:1006 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1012 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1013 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1019 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1020 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "" -#: common/models.py:1027 +#: common/models.py:1024 msgid "Enable Reports" msgstr "" -#: common/models.py:1028 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1034 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1035 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1041 +#: common/models.py:1038 msgid "Page Size" msgstr "" -#: common/models.py:1042 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:1049 msgid "Test Reports" msgstr "" -#: common/models.py:1053 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1059 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "" -#: common/models.py:1060 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1065 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "" -#: common/models.py:1066 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1072 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1073 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1079 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1080 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1082 +#: common/models.py:1079 msgid "days" msgstr "" -#: common/models.py:1087 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1088 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1094 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1095 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1101 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1102 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1107 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1108 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1112 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1113 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1118 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1129 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1136 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1143 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1157 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1164 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1171 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1210 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1226 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1539 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1287 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1322 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1336 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1343 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1350 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1357 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1398 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1405 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1412 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1419 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1426 msgid "Search Categories" msgstr "" -#: common/models.py:1430 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1433 msgid "Search Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1440 msgid "Search Locations" msgstr "" -#: common/models.py:1444 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1447 msgid "Search Companies" msgstr "" -#: common/models.py:1451 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1458 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1465 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "" -#: common/models.py:1472 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1479 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1486 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1492 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1493 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1499 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1500 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1506 +#: common/models.py:1503 msgid "Date Format" msgstr "" -#: common/models.py:1507 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1521 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1522 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1590 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "" -#: common/models.py:1597 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1598 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1755 common/models.py:1892 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "" -#: common/models.py:1756 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1765 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "" -#: common/models.py:1770 part/models.py:988 plugin/models.py:49 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2401,216 +2404,216 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "" -#: common/models.py:1785 +#: common/models.py:1782 msgid "Token" msgstr "" -#: common/models.py:1786 +#: common/models.py:1783 msgid "Token for access" msgstr "" -#: common/models.py:1793 +#: common/models.py:1790 msgid "Secret" msgstr "" -#: common/models.py:1794 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1859 +#: common/models.py:1856 msgid "Message ID" msgstr "" -#: common/models.py:1860 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1868 +#: common/models.py:1865 msgid "Host" msgstr "" -#: common/models.py:1869 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1876 +#: common/models.py:1873 msgid "Header" msgstr "" -#: common/models.py:1877 +#: common/models.py:1874 msgid "Header of this message" msgstr "" -#: common/models.py:1883 +#: common/models.py:1880 msgid "Body" msgstr "" -#: common/models.py:1884 +#: common/models.py:1881 msgid "Body of this message" msgstr "" -#: common/models.py:1893 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1898 +#: common/models.py:1895 msgid "Worked on" msgstr "" -#: common/models.py:1899 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:619 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2618,11 +2621,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 @@ -2630,59 +2633,59 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2205 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 @@ -2690,66 +2693,66 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:97 +#: company/models.py:545 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:643 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "" @@ -2804,10 +2807,10 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:662 -#: stock/models.py:663 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 @@ -2956,7 +2959,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2989,7 +2992,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3004,8 +3007,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "" @@ -3028,7 +3031,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "" @@ -3057,8 +3060,8 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:627 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3084,12 +3087,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "" @@ -3143,11 +3146,11 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3171,54 +3174,54 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3226,486 +3229,486 @@ msgstr "" msgid "No valid objects provided to template" msgstr "" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:258 +#: label/models.py:255 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:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:256 order/templates/order/order_base.html:124 +#: order/models.py:258 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1155 +#: order/models.py:617 order/models.py:1157 #: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 #: templates/js/translated/order.js:2718 msgid "Order" msgstr "" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 +#: stock/templates/stock/item_base.html:342 #: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "" -#: order/models.py:976 order/templates/order/order_base.html:169 +#: order/models.py:978 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "" @@ -3825,7 +3828,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 @@ -3943,7 +3946,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "" @@ -3951,73 +3954,73 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "" -#: part/api.py:1037 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1041 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1056 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" @@ -4037,46 +4040,46 @@ msgstr "" msgid "On Order" msgstr "" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4087,65 +4090,65 @@ msgstr "" msgid "Parts" msgstr "" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4154,352 +4157,352 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "" @@ -4668,7 +4671,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "" @@ -4816,7 +4819,7 @@ msgstr "" msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "" @@ -4868,46 +4871,38 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4969,20 +4964,20 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "" @@ -4991,8 +4986,8 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "" @@ -5080,7 +5075,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "" @@ -5099,7 +5094,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "" @@ -5138,7 +5133,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "" @@ -5257,7 +5252,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "" @@ -5367,80 +5362,80 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "" @@ -5518,35 +5513,43 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:29 +#: plugin/models.py:36 +msgid "Plugin Metadata" +msgstr "" + +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" +msgstr "" + +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:92 msgid "Key" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "" -#: plugin/models.py:44 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:50 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:123 +#: plugin/models.py:180 msgid "Plugin" msgstr "" -#: plugin/models.py:197 +#: plugin/models.py:254 msgid "Method" msgstr "" @@ -5590,35 +5593,35 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "" @@ -5627,87 +5630,87 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "" @@ -5724,7 +5727,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:667 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 @@ -5738,12 +5741,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2193 +#: stock/models.py:2190 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2199 +#: stock/models.py:2196 msgid "Result" msgstr "" @@ -5773,362 +5776,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:762 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:763 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:568 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:611 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:620 +#: stock/models.py:617 msgid "Base part" msgstr "" -#: stock/models.py:628 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:634 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:637 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:644 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:650 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "" -#: stock/models.py:653 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:669 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "" -#: stock/models.py:683 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:688 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "" -#: stock/models.py:697 +#: stock/models.py:694 msgid "Source Build" msgstr "" -#: stock/models.py:699 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "" -#: stock/models.py:710 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:713 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:719 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:725 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:726 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:749 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:790 +#: stock/models.py:787 msgid "Converted to part" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1322 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1325 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1428 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1612 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2113 +#: stock/models.py:2110 msgid "Entry notes" msgstr "" -#: stock/models.py:2170 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2176 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2194 +#: stock/models.py:2191 msgid "Test name" msgstr "" -#: stock/models.py:2200 +#: stock/models.py:2197 msgid "Test result" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2203 msgid "Test output value" msgstr "" -#: stock/models.py:2213 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "" -#: stock/models.py:2219 +#: stock/models.py:2216 msgid "Test notes" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "" @@ -6153,7 +6156,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" @@ -6177,194 +6180,198 @@ msgstr "" msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 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:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -6385,54 +6392,58 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6485,7 +6496,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "" @@ -6510,55 +6521,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "" @@ -6827,7 +6838,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" @@ -7276,9 +7287,9 @@ msgid "InvenTree Version Information" msgstr "" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7518,15 +7529,15 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "" @@ -7548,13 +7559,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7590,11 +7601,11 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "" @@ -7606,27 +7617,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "" @@ -7638,11 +7649,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7711,7 +7722,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "" @@ -7780,178 +7791,182 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "" @@ -8366,61 +8381,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "" @@ -8478,78 +8493,78 @@ msgstr "" msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "" @@ -9223,7 +9238,7 @@ msgstr "" msgid "Single Price Difference" msgstr "" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index d1a41d4de9..9c7360863b 100644 --- a/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/InvenTree/locale/th/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-15 23:30+0000\n" -"PO-Revision-Date: 2022-05-16 01:10\n" +"POT-Creation-Date: 2022-05-16 14:52+0000\n" +"PO-Revision-Date: 2022-05-17 01:05\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -17,56 +17,56 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:53 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "" -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "" @@ -75,7 +75,7 @@ msgstr "" msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "" @@ -120,7 +120,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2212 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "" @@ -129,16 +129,16 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:677 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "" @@ -150,10 +150,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 -#: common/models.py:1547 common/models.py:1778 common/models.py:1779 -#: common/models.py:2006 common/models.py:2007 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -192,9 +192,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:43 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -207,19 +207,19 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 @@ -239,56 +239,56 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -431,7 +431,7 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:143 order/models.py:1068 +#: InvenTree/status_codes.py:143 order/models.py:1070 #: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "" @@ -584,42 +584,42 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -629,40 +629,41 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 -#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -673,10 +674,11 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 @@ -689,132 +691,132 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:249 build/serializers.py:794 +#: build/models.py:247 build/serializers.py:791 #: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" -#: build/models.py:253 +#: 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:258 +#: build/models.py:256 msgid "Destination Location" msgstr "" -#: build/models.py:262 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:681 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "" -#: build/models.py:294 order/models.py:134 part/models.py:1009 +#: build/models.py:292 order/models.py:136 part/models.py:1007 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:675 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 #: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 #: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 #: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 @@ -822,62 +824,62 @@ msgstr "" msgid "Notes" msgstr "" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1214 +#: build/models.py:1212 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 @@ -888,18 +890,18 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1589 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -907,13 +909,14 @@ msgstr "" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 @@ -928,87 +931,87 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 @@ -1020,13 +1023,13 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 #: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 @@ -1034,129 +1037,129 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "" @@ -1226,7 +1229,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 @@ -1259,13 +1262,13 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:297 #: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1301,7 +1304,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:990 +#: build/templates/build/detail.html:49 order/models.py:992 #: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1315,7 +1318,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1432,12 +1435,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1503,7 +1506,7 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "" @@ -1527,873 +1530,873 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:401 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:403 +#: common/models.py:400 msgid "Settings value" msgstr "" -#: common/models.py:444 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:464 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:475 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "" -#: common/models.py:524 +#: common/models.py:521 msgid "Key string must be unique" msgstr "" -#: common/models.py:746 +#: common/models.py:743 msgid "No group" msgstr "" -#: common/models.py:788 +#: common/models.py:785 msgid "Restart required" msgstr "" -#: common/models.py:789 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:796 +#: common/models.py:793 msgid "Server Instance Name" msgstr "" -#: common/models.py:798 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:802 +#: common/models.py:799 msgid "Use instance name" msgstr "" -#: common/models.py:803 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:809 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:810 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:816 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "" -#: common/models.py:817 +#: common/models.py:814 msgid "Internal company name" msgstr "" -#: common/models.py:822 +#: common/models.py:819 msgid "Base URL" msgstr "" -#: common/models.py:823 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "" -#: common/models.py:829 +#: common/models.py:826 msgid "Default Currency" msgstr "" -#: common/models.py:830 +#: common/models.py:827 msgid "Default currency" msgstr "" -#: common/models.py:836 +#: common/models.py:833 msgid "Download from URL" msgstr "" -#: common/models.py:837 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:844 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:850 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:851 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:857 +#: common/models.py:854 msgid "IPN Regex" msgstr "" -#: common/models.py:858 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:869 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:870 +#: common/models.py:867 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:876 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:877 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:884 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:891 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:897 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:898 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:904 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:905 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "" -#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:912 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:918 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:919 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:925 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "" -#: common/models.py:926 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:932 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:933 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "" -#: common/models.py:939 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:940 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:946 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:947 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:953 +#: common/models.py:950 msgid "Show Import in Views" msgstr "" -#: common/models.py:954 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:960 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "" -#: common/models.py:961 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "" -#: common/models.py:972 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "" -#: common/models.py:973 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:984 +#: common/models.py:981 msgid "Show Price History" msgstr "" -#: common/models.py:985 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:991 +#: common/models.py:988 msgid "Show related parts" msgstr "" -#: common/models.py:992 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "" -#: common/models.py:998 +#: common/models.py:995 msgid "Create initial stock" msgstr "" -#: common/models.py:999 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1005 +#: common/models.py:1002 msgid "Internal Prices" msgstr "" -#: common/models.py:1006 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1012 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1013 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1019 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1020 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "" -#: common/models.py:1027 +#: common/models.py:1024 msgid "Enable Reports" msgstr "" -#: common/models.py:1028 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1034 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1035 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1041 +#: common/models.py:1038 msgid "Page Size" msgstr "" -#: common/models.py:1042 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:1049 msgid "Test Reports" msgstr "" -#: common/models.py:1053 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1059 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "" -#: common/models.py:1060 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1065 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "" -#: common/models.py:1066 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1072 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1073 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1079 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1080 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1082 +#: common/models.py:1079 msgid "days" msgstr "" -#: common/models.py:1087 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1088 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1094 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1095 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1101 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1102 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1107 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1108 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1112 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1113 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1118 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1129 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1136 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1143 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1157 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1164 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1171 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1210 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1226 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1539 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1287 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1322 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1336 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1343 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1350 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1357 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1398 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1405 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1412 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1419 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1426 msgid "Search Categories" msgstr "" -#: common/models.py:1430 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1433 msgid "Search Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1440 msgid "Search Locations" msgstr "" -#: common/models.py:1444 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1447 msgid "Search Companies" msgstr "" -#: common/models.py:1451 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1458 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1465 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "" -#: common/models.py:1472 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1479 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1486 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1492 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1493 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1499 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1500 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1506 +#: common/models.py:1503 msgid "Date Format" msgstr "" -#: common/models.py:1507 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1521 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1522 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1590 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "" -#: common/models.py:1597 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1598 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1755 common/models.py:1892 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "" -#: common/models.py:1756 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1765 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "" -#: common/models.py:1770 part/models.py:988 plugin/models.py:49 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2401,216 +2404,216 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "" -#: common/models.py:1785 +#: common/models.py:1782 msgid "Token" msgstr "" -#: common/models.py:1786 +#: common/models.py:1783 msgid "Token for access" msgstr "" -#: common/models.py:1793 +#: common/models.py:1790 msgid "Secret" msgstr "" -#: common/models.py:1794 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1859 +#: common/models.py:1856 msgid "Message ID" msgstr "" -#: common/models.py:1860 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1868 +#: common/models.py:1865 msgid "Host" msgstr "" -#: common/models.py:1869 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1876 +#: common/models.py:1873 msgid "Header" msgstr "" -#: common/models.py:1877 +#: common/models.py:1874 msgid "Header of this message" msgstr "" -#: common/models.py:1883 +#: common/models.py:1880 msgid "Body" msgstr "" -#: common/models.py:1884 +#: common/models.py:1881 msgid "Body of this message" msgstr "" -#: common/models.py:1893 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1898 +#: common/models.py:1895 msgid "Worked on" msgstr "" -#: common/models.py:1899 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:619 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2618,11 +2621,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 @@ -2630,59 +2633,59 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2205 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 @@ -2690,66 +2693,66 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:97 +#: company/models.py:545 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:643 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "" @@ -2804,10 +2807,10 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:662 -#: stock/models.py:663 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 @@ -2956,7 +2959,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2989,7 +2992,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3004,8 +3007,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "" @@ -3028,7 +3031,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "" @@ -3057,8 +3060,8 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:627 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3084,12 +3087,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "" @@ -3143,11 +3146,11 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3171,54 +3174,54 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3226,486 +3229,486 @@ msgstr "" msgid "No valid objects provided to template" msgstr "" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:258 +#: label/models.py:255 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:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:256 order/templates/order/order_base.html:124 +#: order/models.py:258 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1155 +#: order/models.py:617 order/models.py:1157 #: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 #: templates/js/translated/order.js:2718 msgid "Order" msgstr "" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 +#: stock/templates/stock/item_base.html:342 #: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "" -#: order/models.py:976 order/templates/order/order_base.html:169 +#: order/models.py:978 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "" @@ -3825,7 +3828,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 @@ -3943,7 +3946,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "" @@ -3951,73 +3954,73 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "" -#: part/api.py:1037 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1041 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1056 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" @@ -4037,46 +4040,46 @@ msgstr "" msgid "On Order" msgstr "" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4087,65 +4090,65 @@ msgstr "" msgid "Parts" msgstr "" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4154,352 +4157,352 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "" @@ -4668,7 +4671,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "" @@ -4816,7 +4819,7 @@ msgstr "" msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "" @@ -4868,46 +4871,38 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4969,20 +4964,20 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "" @@ -4991,8 +4986,8 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "" @@ -5080,7 +5075,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "" @@ -5099,7 +5094,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "" @@ -5138,7 +5133,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "" @@ -5257,7 +5252,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "" @@ -5367,80 +5362,80 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "" @@ -5518,35 +5513,43 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:29 +#: plugin/models.py:36 +msgid "Plugin Metadata" +msgstr "" + +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" +msgstr "" + +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:92 msgid "Key" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "" -#: plugin/models.py:44 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:50 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:123 +#: plugin/models.py:180 msgid "Plugin" msgstr "" -#: plugin/models.py:197 +#: plugin/models.py:254 msgid "Method" msgstr "" @@ -5590,35 +5593,35 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "" @@ -5627,87 +5630,87 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "" @@ -5724,7 +5727,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:667 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 @@ -5738,12 +5741,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2193 +#: stock/models.py:2190 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2199 +#: stock/models.py:2196 msgid "Result" msgstr "" @@ -5773,362 +5776,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:762 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:763 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:568 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:611 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:620 +#: stock/models.py:617 msgid "Base part" msgstr "" -#: stock/models.py:628 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:634 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:637 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:644 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:650 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "" -#: stock/models.py:653 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:669 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "" -#: stock/models.py:683 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:688 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "" -#: stock/models.py:697 +#: stock/models.py:694 msgid "Source Build" msgstr "" -#: stock/models.py:699 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "" -#: stock/models.py:710 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:713 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:719 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:725 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:726 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:749 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:790 +#: stock/models.py:787 msgid "Converted to part" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1322 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1325 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1428 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1612 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2113 +#: stock/models.py:2110 msgid "Entry notes" msgstr "" -#: stock/models.py:2170 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2176 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2194 +#: stock/models.py:2191 msgid "Test name" msgstr "" -#: stock/models.py:2200 +#: stock/models.py:2197 msgid "Test result" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2203 msgid "Test output value" msgstr "" -#: stock/models.py:2213 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "" -#: stock/models.py:2219 +#: stock/models.py:2216 msgid "Test notes" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "" @@ -6153,7 +6156,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" @@ -6177,194 +6180,198 @@ msgstr "" msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 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:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -6385,54 +6392,58 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6485,7 +6496,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "" @@ -6510,55 +6521,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "" @@ -6827,7 +6838,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" @@ -7276,9 +7287,9 @@ msgid "InvenTree Version Information" msgstr "" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7518,15 +7529,15 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "" @@ -7548,13 +7559,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7590,11 +7601,11 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "" @@ -7606,27 +7617,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "" @@ -7638,11 +7649,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7711,7 +7722,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "" @@ -7780,178 +7791,182 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "" @@ -8366,61 +8381,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "" @@ -8478,78 +8493,78 @@ msgstr "" msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "" @@ -9223,7 +9238,7 @@ msgstr "" msgid "Single Price Difference" msgstr "" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index a23ce3d433..81a35d3896 100644 --- a/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/InvenTree/locale/tr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-15 23:30+0000\n" -"PO-Revision-Date: 2022-05-16 01:10\n" +"POT-Creation-Date: 2022-05-16 14:52+0000\n" +"PO-Revision-Date: 2022-05-17 01:05\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -17,56 +17,56 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:53 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "API uç noktası bulunamadı" -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "Tarih giriniz" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "Onay" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "Silmeyi Onayla" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "Silmeyi onayla" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "Şifrenizi girin" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "Lütfen Yeni Parolayı Girin" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "Parolayı doğrulayın" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "Yeni parolayı doğrulayın" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "Kategori Seçin" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "E-posta (tekrar)" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "E-posta adresi onayı" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "Her seferind eaynı e-posta adresini yazmalısınız." @@ -75,7 +75,7 @@ msgstr "Her seferind eaynı e-posta adresini yazmalısınız." msgid "Duplicate serial: {sn}" msgstr "Tekrarlanan seri no:{sn}" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "Geçersiz veri sağlandı" @@ -120,7 +120,7 @@ msgstr "Eksik dosya" msgid "Missing external link" msgstr "Bozuk dış bağlantı" -#: InvenTree/models.py:197 stock/models.py:2212 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "Ek" @@ -129,16 +129,16 @@ msgstr "Ek" msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "Bağlantı" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:677 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" @@ -150,10 +150,10 @@ msgstr "Yorum" msgid "File comment" msgstr "Dosya yorumu" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 -#: common/models.py:1547 common/models.py:1778 common/models.py:1779 -#: common/models.py:2006 common/models.py:2007 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -192,9 +192,9 @@ msgstr "Dosya adı değiştirilirken hata" msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:43 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -207,19 +207,19 @@ msgstr "Geçersiz seçim" msgid "Name" msgstr "Adı" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 @@ -239,56 +239,56 @@ msgstr "Açıklama (isteğe bağlı)" msgid "parent" msgstr "üst" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "Dosya adı" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "Geçersiz değer" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "Veri Dosyası" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "Yüklemek istediğiniz dosyayı seçin" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "Desteklenmeyen dsoya tipi" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "Dosya boyutu çok büyük" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "Dosyada kolon bulunamadı" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "Dosyada satır bulunamadı" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "Dosyada satır bulunamadı" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "Dosyada uygun kolon bulunamadı" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Gerekli kolon ismi eksik:'{name}'" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Tekrarlanan kolon ismi:'{col}'" @@ -431,7 +431,7 @@ msgstr "Kayıp" msgid "Returned" msgstr "İade" -#: InvenTree/status_codes.py:143 order/models.py:1068 +#: InvenTree/status_codes.py:143 order/models.py:1070 #: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "Sevk edildi" @@ -584,42 +584,42 @@ msgstr "Fazlalık %100'ü geçmemelidir" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "Ögeyi Sil" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "Öge silme işlemini onaylamak için kutuyu işaretleyin" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Kullanıcı Bilgisini Düzenle" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Şifre Belirle" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "Parola alanları eşleşmelidir" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "Sistem Bilgisi" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "Yapım İşi Emri" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -629,40 +629,41 @@ msgstr "Yapım İşi Emri" msgid "Build Orders" msgstr "Yapım İşi Emirleri" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "Yapım İşi Emri Referansı" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 -#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "Referans" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "Yapım işinin kısa açıklaması" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Üst Yapım İşi" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -673,10 +674,11 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 @@ -689,132 +691,132 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" msgid "Part" msgstr "Parça" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "Yapım işi için parça seçin" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "Satış Emri Referansı" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği satış emri" -#: build/models.py:249 build/serializers.py:794 +#: build/models.py:247 build/serializers.py:791 #: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "Kaynak Konum" -#: build/models.py:253 +#: build/models.py:251 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Bu yapım işi için stok alınacak konumu seçin (her hangi bir stok konumundan alınması için boş bırakın)" -#: build/models.py:258 +#: build/models.py:256 msgid "Destination Location" msgstr "Hedef Konum" -#: build/models.py:262 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "Tamamlanmış ögelerin saklanacağı konumu seçiniz" -#: build/models.py:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "Yapım İşi Miktarı" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "Yapım işi stok kalemlerinin sayısı" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "Tamamlanmış ögeler" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "Tamamlanan stok kalemlerinin sayısı" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "Yapım İşi Durumu" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "Yapım işi durum kodu" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:681 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "Sıra numarası" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" -#: build/models.py:294 order/models.py:134 part/models.py:1009 +#: build/models.py:292 order/models.py:136 part/models.py:1007 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "Oluşturulma tarihi" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "Hedef tamamlama tarihi" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım işi gecikmiş olacak." -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "Tamamlama tarihi" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "tamamlayan" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "Veren" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "Bu yapım işi emrini veren kullanıcı" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "Sorumlu" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "Bu yapım işi emrinden sorumlu kullanıcı" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:675 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "Harici Bağlantı" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 #: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 #: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 #: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 @@ -822,62 +824,62 @@ msgstr "Harici Bağlantı" msgid "Notes" msgstr "Notlar" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "Yapım işi için ekstra notlar" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "Yapım işi çıktısı belirtilmedi" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "Yapım işi çıktısı zaten tamamlanmış" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "Yapım işi çıktısı, yapım işi emri ile eşleşmiyor" -#: build/models.py:1214 +#: build/models.py:1212 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Ana parça izlenebilir olarak işaretlendiğinden, yapım işi çıktısı için bir yapım işi ögesi belirtmelidir" -#: build/models.py:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "Seri numaralı stok için miktar bir olmalı" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "Yapım İşi" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "Yapım işi için tahsis edilen parçalar" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 @@ -888,18 +890,18 @@ msgstr "Yapım işi için tahsis edilen parçalar" msgid "Stock Item" msgstr "Stok Kalemi" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "Kaynak stok kalemi" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1589 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -907,13 +909,14 @@ msgstr "Kaynak stok kalemi" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 @@ -928,87 +931,87 @@ msgstr "Kaynak stok kalemi" msgid "Quantity" msgstr "Miktar" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "Yapım işi için tahsis edilen stok miktarı" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "Kurulduğu yer" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "Hedef stok kalemi" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "Yapım işi çıktısı için miktarını girin" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "Seri Numaraları" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "Yapım işi çıktısı için seri numaraları girin" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 @@ -1020,13 +1023,13 @@ msgstr "" msgid "Location" msgstr "Konum" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 #: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 @@ -1034,129 +1037,129 @@ msgstr "" msgid "Status" msgstr "Durum" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "Gerekli stok tamamen tahsis edilemedi" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "Gerekli yapım işi miktarı tamamlanmadı" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "" @@ -1226,7 +1229,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 @@ -1259,13 +1262,13 @@ msgid "Completed" msgstr "Tamamlandı" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:297 #: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "Sipariş Emri" @@ -1301,7 +1304,7 @@ msgstr "Stok Kaynağı" msgid "Stock can be taken from any available location." msgstr "Stok herhangi bir konumdan alınabilir." -#: build/templates/build/detail.html:49 order/models.py:990 +#: build/templates/build/detail.html:49 order/models.py:992 #: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "Hedef" @@ -1315,7 +1318,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1432,12 +1435,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "Yazdırma İşlemleri" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "Etiketleri yazdır" @@ -1503,7 +1506,7 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "Yapım İşi Emrini Sil" @@ -1527,873 +1530,873 @@ msgstr "Dosya okurken hata (hatalı ölçüler)" msgid "Error reading file (data could be corrupted)" msgstr "Dosya okurken hata (veri bozulmuş olabilir)" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "Dosya" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "Yüklenecek dosyayı seç" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "{name.title()} Dosya" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "{name} dosyasını yüklemek için seçin" -#: common/models.py:401 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:403 +#: common/models.py:400 msgid "Settings value" msgstr "" -#: common/models.py:444 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:464 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:475 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "" -#: common/models.py:524 +#: common/models.py:521 msgid "Key string must be unique" msgstr "Anahtar dizesi benzersiz olmalı" -#: common/models.py:746 +#: common/models.py:743 msgid "No group" msgstr "" -#: common/models.py:788 +#: common/models.py:785 msgid "Restart required" msgstr "" -#: common/models.py:789 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:796 +#: common/models.py:793 msgid "Server Instance Name" msgstr "" -#: common/models.py:798 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:802 +#: common/models.py:799 msgid "Use instance name" msgstr "" -#: common/models.py:803 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:809 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:810 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:816 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "Şirket adı" -#: common/models.py:817 +#: common/models.py:814 msgid "Internal company name" msgstr "" -#: common/models.py:822 +#: common/models.py:819 msgid "Base URL" msgstr "Ana URL" -#: common/models.py:823 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "" -#: common/models.py:829 +#: common/models.py:826 msgid "Default Currency" msgstr "Varsayılan Para Birimi" -#: common/models.py:830 +#: common/models.py:827 msgid "Default currency" msgstr "Varsayılan para birimi" -#: common/models.py:836 +#: common/models.py:833 msgid "Download from URL" msgstr "URL'den indir" -#: common/models.py:837 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "Harici URL'den resim ve dosyaların indirilmesine izin ver" -#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Barkod Desteği" -#: common/models.py:844 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "Barkod tarayıcı desteğini etkinleştir" -#: common/models.py:850 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:851 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:857 +#: common/models.py:854 msgid "IPN Regex" msgstr "DPN Regex" -#: common/models.py:858 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "Parça DPN eşleştirmesi için Düzenli İfade Kalıbı (Regex)" -#: common/models.py:862 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "Yinelenen DPN'ye İzin Ver" -#: common/models.py:863 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "Birden çok parçanın aynı DPN'yi paylaşmasına izin ver" -#: common/models.py:869 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "DPN Düzenlemeye İzin Ver" -#: common/models.py:870 +#: common/models.py:867 msgid "Allow changing the IPN value while editing a part" msgstr "Parçayı düzenlerken DPN değiştirmeye izin ver" -#: common/models.py:876 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:877 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:884 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:891 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:897 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "Kategori Paremetre Sablonu Kopyala" -#: common/models.py:898 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/models.py:904 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Şablon" -#: common/models.py:905 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Montaj" -#: common/models.py:912 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "Parçalar varsayılan olarak başka bileşenlerden monte edilebilir" -#: common/models.py:918 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Bileşen" -#: common/models.py:919 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "Parçalar varsayılan olarak alt bileşen olarak kullanılabilir" -#: common/models.py:925 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "Satın Alınabilir" -#: common/models.py:926 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/models.py:932 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Satılabilir" -#: common/models.py:933 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/models.py:939 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Takip Edilebilir" -#: common/models.py:940 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/models.py:946 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Sanal" -#: common/models.py:947 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "Parçalar varsayılan olarak sanaldır" -#: common/models.py:953 +#: common/models.py:950 msgid "Show Import in Views" msgstr "" -#: common/models.py:954 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:960 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "Formlarda Fiyat Göster" -#: common/models.py:961 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "" -#: common/models.py:972 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "" -#: common/models.py:973 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:984 +#: common/models.py:981 msgid "Show Price History" msgstr "" -#: common/models.py:985 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:991 +#: common/models.py:988 msgid "Show related parts" msgstr "İlgili parçaları göster" -#: common/models.py:992 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "" -#: common/models.py:998 +#: common/models.py:995 msgid "Create initial stock" msgstr "" -#: common/models.py:999 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1005 +#: common/models.py:1002 msgid "Internal Prices" msgstr "" -#: common/models.py:1006 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1012 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1013 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1019 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1020 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "" -#: common/models.py:1027 +#: common/models.py:1024 msgid "Enable Reports" msgstr "" -#: common/models.py:1028 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1034 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "Hata Ayıklama Modu" -#: common/models.py:1035 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)" -#: common/models.py:1041 +#: common/models.py:1038 msgid "Page Size" msgstr "Sayfa Boyutu" -#: common/models.py:1042 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "PDF raporlar için varsayılan sayfa boyutu" -#: common/models.py:1052 +#: common/models.py:1049 msgid "Test Reports" msgstr "Test Raporları" -#: common/models.py:1053 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1059 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "" -#: common/models.py:1060 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1065 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "" -#: common/models.py:1066 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1072 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1073 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1079 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1080 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1082 +#: common/models.py:1079 msgid "days" msgstr "günler" -#: common/models.py:1087 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1088 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1094 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1095 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin" -#: common/models.py:1101 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1102 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1107 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1108 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1112 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1113 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1118 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1129 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1136 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1143 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1157 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1164 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1171 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1210 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1226 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1539 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1287 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1322 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1336 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1343 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1350 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1357 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1398 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1405 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1412 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1419 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1426 msgid "Search Categories" msgstr "" -#: common/models.py:1430 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1433 msgid "Search Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1440 msgid "Search Locations" msgstr "" -#: common/models.py:1444 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1447 msgid "Search Companies" msgstr "" -#: common/models.py:1451 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1458 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1465 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "" -#: common/models.py:1472 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1479 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "Formlarda Miktarı Göster" -#: common/models.py:1486 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1492 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1493 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1499 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1500 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1506 +#: common/models.py:1503 msgid "Date Format" msgstr "" -#: common/models.py:1507 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1521 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1522 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1590 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "" -#: common/models.py:1597 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "Fiyat" -#: common/models.py:1598 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1755 common/models.py:1892 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "" -#: common/models.py:1756 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1765 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "" -#: common/models.py:1770 part/models.py:988 plugin/models.py:49 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2401,216 +2404,216 @@ msgstr "" msgid "Active" msgstr "Aktif" -#: common/models.py:1771 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "" -#: common/models.py:1785 +#: common/models.py:1782 msgid "Token" msgstr "" -#: common/models.py:1786 +#: common/models.py:1783 msgid "Token for access" msgstr "" -#: common/models.py:1793 +#: common/models.py:1790 msgid "Secret" msgstr "" -#: common/models.py:1794 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1859 +#: common/models.py:1856 msgid "Message ID" msgstr "" -#: common/models.py:1860 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1868 +#: common/models.py:1865 msgid "Host" msgstr "" -#: common/models.py:1869 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1876 +#: common/models.py:1873 msgid "Header" msgstr "" -#: common/models.py:1877 +#: common/models.py:1874 msgid "Header of this message" msgstr "" -#: common/models.py:1883 +#: common/models.py:1880 msgid "Body" msgstr "" -#: common/models.py:1884 +#: common/models.py:1881 msgid "Body of this message" msgstr "" -#: common/models.py:1893 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1898 +#: common/models.py:1895 msgid "Worked on" msgstr "" -#: common/models.py:1899 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Dosya Yükle" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Alanları Eşleştir" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "Şirket web sitesi" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "Adres" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "Şirket adresi" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "Telefon numarası" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "İletişim telefon numarası" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "E-posta" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "İletişim e-posta adresi" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "İletişim" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "Resim" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "müşteri mi" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "Bu şirkete ürün satıyor musunuz?" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "tedarikçi mi" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "Bu şirketten ürün satın alıyor musunuz?" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "üretici mi" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "Bu şirket üretim yapıyor mu?" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "Para birimi" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "Bu şirket için varsayılan para birimi" -#: company/models.py:317 company/models.py:532 stock/models.py:619 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "Temel Parça" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "Parça seçin" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2618,11 +2621,11 @@ msgstr "Parça seçin" msgid "Manufacturer" msgstr "Üretici" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "Üretici seçin" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 @@ -2630,59 +2633,59 @@ msgstr "Üretici seçin" msgid "MPN" msgstr "ÜPN" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "Üretici Parça Numarası" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "Parametre adı" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2205 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "Değer" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "Parametre değeri" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 @@ -2690,66 +2693,66 @@ msgstr "" msgid "Supplier" msgstr "Tedarikçi" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "Tedarikçi seçin" -#: company/models.py:548 company/templates/company/supplier_part.html:97 +#: company/models.py:545 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "Not" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:643 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "Paketleme" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "çoklu" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "" @@ -2804,10 +2807,10 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:662 -#: stock/models.py:663 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 @@ -2956,7 +2959,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2989,7 +2992,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3004,8 +3007,8 @@ msgstr "Tedarikçi parçalarını sil" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "" @@ -3028,7 +3031,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "" @@ -3057,8 +3060,8 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:627 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3084,12 +3087,12 @@ msgid "Supplier Part Stock" msgstr "Tedarikçi Parça Stoku" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "" @@ -3143,11 +3146,11 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3171,54 +3174,54 @@ msgstr "Fiyatlandırma" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "Stok Kalemleri" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "Yeni Tedarikçi" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "Yeni Üretici" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "Müşteriler" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "Yeni Müşteri" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "Şirketler" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "Yeni Şirket" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "Resmi İndirin" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "Geçersiz yanıt: {code}" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "Sağlanan URL geçerli bir resim dosyası değil" @@ -3226,486 +3229,486 @@ msgstr "Sağlanan URL geçerli bir resim dosyası değil" msgid "No valid objects provided to template" msgstr "Şablon için geçerli bir nesne sağlanmadı" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "Etiket adı" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "Etiket tanımı" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "Etiket" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "Etiket şablon listesi" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "Etkin" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "Etiket sablonu etkinleştirildi" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "Genişlik [mm]" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "Etiket genişliği mm olarak belirtilmeli" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "Yükseklik [mm]" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "Etiket yüksekliği mm olarak belirtilmeli" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "Dosya Adı Deseni" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "Etiket dosya adları oluşturma için desen" -#: label/models.py:258 +#: label/models.py:255 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:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "Filtreler" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "Sipariş açıklaması" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "Harici sayfaya bağlantı" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "Oluşturan" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "Sipariş notları" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "Sipariş referansı" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:256 order/templates/order/order_base.html:124 +#: order/models.py:258 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1155 +#: order/models.py:617 order/models.py:1157 #: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 #: templates/js/translated/order.js:2718 msgid "Order" msgstr "" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 +#: stock/templates/stock/item_base.html:342 #: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "" -#: order/models.py:976 order/templates/order/order_base.html:169 +#: order/models.py:978 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar bir olmalı" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "" @@ -3825,7 +3828,7 @@ msgstr "Tedarikçi Parçası Seçin" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 @@ -3943,7 +3946,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "İşlemler" @@ -3951,73 +3954,73 @@ msgstr "İşlemler" msgid "New Shipment" msgstr "" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "" -#: part/api.py:1037 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1041 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1056 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "Varsayılan Konum" @@ -4037,46 +4040,46 @@ msgstr "" msgid "On Order" msgstr "" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "Parametre şablonunu aynı seviyedeki kategorilere ekle" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "Parametre şablonunu tüm kategorilere ekle" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "Bu kategori içindeki parçalar için varsayılan konum" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "Parça Kategorileri" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4087,65 +4090,65 @@ msgstr "Parça Kategorileri" msgid "Parts" msgstr "Parçalar" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "Sonraki kullanılabilir seri numaraları" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "Sonraki müsait seri numarası" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "En son seri numarası" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "Parça adı" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "Şablon Mu" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "Bu parça bir şablon parçası mı?" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "Bu parça başka bir parçanın çeşidi mi?" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "Çeşidi" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "Parça açıklaması" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "Anahtar kelimeler" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4154,352 +4157,352 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "DPN" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "Revizyon" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "Varsayılan Tedarikçi" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "Varsayılan tedarikçi parçası" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "Minimum Stok" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "Bu parça diğer parçalardan yapılabilir mi?" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "Bu parça diğer parçaların yapımında kullanılabilir mi?" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "Bu parça müşterilere satılabilir mi?" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "Bu parça aktif mi?" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "Oluşturan Kullanıcı" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "Test şablonları sadece takip edilebilir paçalar için oluşturulabilir" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "Gerekli" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Bu malzeme listesi, çeşit parçalar listesini kalıtsalıdır" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Çeşit parçaların stok kalemleri bu malzeme listesinde kullanılabilir" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "" @@ -4668,7 +4671,7 @@ msgstr "Parçalar (Alt kategoriler dahil)" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "" @@ -4816,7 +4819,7 @@ msgstr "" msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "" @@ -4868,46 +4871,38 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4969,20 +4964,20 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "Barkod işlemleri" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "Etiket Yazdır" @@ -4991,8 +4986,8 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "Stok işlemleri" @@ -5080,7 +5075,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "" @@ -5099,7 +5094,7 @@ msgid "Latest Serial Number" msgstr "Son Seri Numarası" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "" @@ -5138,7 +5133,7 @@ msgid "Total Cost" msgstr "Toplam Maliyet" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "" @@ -5257,7 +5252,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "" @@ -5367,80 +5362,80 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "Hiçbiri" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "Parça Parametre Şablonu Oluştur" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "Parça Parametre Şablonu Düzenle" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "Parça Parametre Şablonu Sil" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "Kategori Parametre Şablonu Oluştur" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "Kategori Parametre Şablonu Düzenle" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "Kategori Parametre Şablonu Sil" @@ -5518,35 +5513,43 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:29 +#: plugin/models.py:36 +msgid "Plugin Metadata" +msgstr "" + +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" +msgstr "" + +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:92 msgid "Key" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "" -#: plugin/models.py:44 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:50 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:123 +#: plugin/models.py:180 msgid "Plugin" msgstr "" -#: plugin/models.py:197 +#: plugin/models.py:254 msgid "Method" msgstr "" @@ -5590,35 +5593,35 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "" @@ -5627,87 +5630,87 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "Şablon adı" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "Rapor şablon dosyası" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "Rapor şablon tanımı" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "Revizyon numarası raporla (otomatik artış)" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "Rapor şablonu etkin" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Stok kalemi sorgu filtreleri (anahter=değer [key=value] olarak virgülle ayrılmış liste)" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "" @@ -5724,7 +5727,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:667 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 @@ -5738,12 +5741,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2193 +#: stock/models.py:2190 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2199 +#: stock/models.py:2196 msgid "Result" msgstr "" @@ -5773,362 +5776,362 @@ msgstr "" msgid "Serial" msgstr "Seri No" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:762 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:763 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "Bu seri numarasına sahip stok kalemi zaten var" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "Seri numarası olan ögenin miktarı bir olmalı" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Miktar birden büyük ise seri numarası ayarlanamaz" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:568 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:611 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "Üst Stok Kalemi" -#: stock/models.py:620 +#: stock/models.py:617 msgid "Base part" msgstr "" -#: stock/models.py:628 +#: stock/models.py:625 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:634 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Stok Konumu" -#: stock/models.py:637 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:644 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:650 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "" -#: stock/models.py:653 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:669 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "Bu öge için seri numarası" -#: stock/models.py:683 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:688 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "" -#: stock/models.py:697 +#: stock/models.py:694 msgid "Source Build" msgstr "" -#: stock/models.py:699 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "" -#: stock/models.py:710 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:713 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:719 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:725 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:726 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:749 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:790 +#: stock/models.py:787 msgid "Converted to part" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1322 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1325 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "Seri numaraları tam sayı listesi olmalı" -#: stock/models.py:1328 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "Miktar seri numaları ile eşleşmiyor" -#: stock/models.py:1335 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Seri numaraları zaten mevcut: {exists}" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1428 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1612 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stok kalemi stokta olmadığı için taşınamaz" -#: stock/models.py:2113 +#: stock/models.py:2110 msgid "Entry notes" msgstr "" -#: stock/models.py:2170 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2176 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2194 +#: stock/models.py:2191 msgid "Test name" msgstr "" -#: stock/models.py:2200 +#: stock/models.py:2197 msgid "Test result" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2203 msgid "Test output value" msgstr "" -#: stock/models.py:2213 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "" -#: stock/models.py:2219 +#: stock/models.py:2216 msgid "Test notes" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "Seri numaraları zaten mevcut" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "İşlem notu ekle (isteğe bağlı)" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "" @@ -6153,7 +6156,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" @@ -6177,194 +6180,198 @@ msgstr "" msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "Konuma Tara" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "Yazdırma işlemleri" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "Stok ayarlama işlemleri" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "Stoku seri numarala" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "Çeşide çevir" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, 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:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, 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:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 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:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 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:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "Konum ayarlanmadı" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -6385,54 +6392,58 @@ 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:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "Konum işlemleri" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "Konumu düzenle" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "Konumu sil" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "Yeni stok konumu oluştur" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "Yeni Konum" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 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:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Alt konumlar" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "Stok Konumları" @@ -6485,7 +6496,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "Stok Kalemine Dönüştür" @@ -6510,55 +6521,55 @@ msgstr "Bu işlem kolayca geri alınamaz" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "Stok Konumu QR Kodu" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "Geçerli bir konum belirtiniz" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "Onay kutusunu işaretleyin" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "Stok Konumunu Sil" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "" @@ -6827,7 +6838,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" @@ -7276,9 +7287,9 @@ msgid "InvenTree Version Information" msgstr "InvenTree Sürüm Bilgisi" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7518,15 +7529,15 @@ msgstr "" msgid "Add Attachment" msgstr "Dosya Ekle" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "" @@ -7548,13 +7559,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7590,11 +7601,11 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "Cevap Yok" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "" @@ -7606,27 +7617,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 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:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "" @@ -7638,11 +7649,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7711,7 +7722,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "" @@ -7780,178 +7791,182 @@ msgstr "Konuma Kaydet" msgid "Barcode does not match a valid location" msgstr "Barkod geçerli bir konumla eşleşmiyor" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "Seviyeler" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "Dışa aktarılan malzeme listesine parça tedarikçisi verilerini dahil edin" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "Gerekli Parça" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "" @@ -8366,61 +8381,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "" @@ -8478,78 +8493,78 @@ msgstr "" msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "Etiket Şablonu Seç" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "" @@ -9223,7 +9238,7 @@ msgstr "" msgid "Single Price Difference" msgstr "" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index 206fea7cab..b2fe81b867 100644 --- a/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/InvenTree/locale/vi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-15 23:30+0000\n" -"PO-Revision-Date: 2022-05-16 01:10\n" +"POT-Creation-Date: 2022-05-16 14:52+0000\n" +"PO-Revision-Date: 2022-05-17 01:05\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -17,56 +17,56 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:53 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "" -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "Xác nhận mật khẩu" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "Xác nhận mật khẩu mới" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "Chọn danh mục" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "" @@ -75,7 +75,7 @@ msgstr "" msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "" @@ -120,7 +120,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2212 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "" @@ -129,16 +129,16 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:677 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "" @@ -150,10 +150,10 @@ msgstr "Bình luận" msgid "File comment" msgstr "" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 -#: common/models.py:1547 common/models.py:1778 common/models.py:1779 -#: common/models.py:2006 common/models.py:2007 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -192,9 +192,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:43 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -207,19 +207,19 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 @@ -239,56 +239,56 @@ msgstr "Mô tả (tùy chọn)" msgid "parent" msgstr "" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "Tên tập tin" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -431,7 +431,7 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:143 order/models.py:1068 +#: InvenTree/status_codes.py:143 order/models.py:1070 #: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "" @@ -584,42 +584,42 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "Thông tin hệ thống" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "Tạo đơn hàng" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -629,40 +629,41 @@ msgstr "Tạo đơn hàng" msgid "Build Orders" msgstr "Tạo đơn hàng" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 -#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "" -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -673,10 +674,11 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 @@ -689,132 +691,132 @@ msgstr "" msgid "Part" msgstr "Nguyên liệu" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:249 build/serializers.py:794 +#: build/models.py:247 build/serializers.py:791 #: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "" -#: build/models.py:253 +#: 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:258 +#: build/models.py:256 msgid "Destination Location" msgstr "" -#: build/models.py:262 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:681 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "" -#: build/models.py:294 order/models.py:134 part/models.py:1009 +#: build/models.py:292 order/models.py:136 part/models.py:1007 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "Ngày hoàn thành" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:675 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 #: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 #: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 #: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 @@ -822,62 +824,62 @@ msgstr "" msgid "Notes" msgstr "" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1214 +#: build/models.py:1212 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 @@ -888,18 +890,18 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1589 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -907,13 +909,14 @@ msgstr "" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 @@ -928,87 +931,87 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 @@ -1020,13 +1023,13 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 #: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 @@ -1034,129 +1037,129 @@ msgstr "" msgid "Status" msgstr "Trạng thái" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "" @@ -1226,7 +1229,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 @@ -1259,13 +1262,13 @@ msgid "Completed" msgstr "Đã hoàn thành" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:297 #: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "" @@ -1301,7 +1304,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:990 +#: build/templates/build/detail.html:49 order/models.py:992 #: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1315,7 +1318,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1432,12 +1435,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1503,7 +1506,7 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "" @@ -1527,873 +1530,873 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:401 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:403 +#: common/models.py:400 msgid "Settings value" msgstr "" -#: common/models.py:444 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:464 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:475 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "" -#: common/models.py:524 +#: common/models.py:521 msgid "Key string must be unique" msgstr "" -#: common/models.py:746 +#: common/models.py:743 msgid "No group" msgstr "" -#: common/models.py:788 +#: common/models.py:785 msgid "Restart required" msgstr "" -#: common/models.py:789 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:796 +#: common/models.py:793 msgid "Server Instance Name" msgstr "" -#: common/models.py:798 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:802 +#: common/models.py:799 msgid "Use instance name" msgstr "" -#: common/models.py:803 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:809 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:810 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:816 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "" -#: common/models.py:817 +#: common/models.py:814 msgid "Internal company name" msgstr "" -#: common/models.py:822 +#: common/models.py:819 msgid "Base URL" msgstr "" -#: common/models.py:823 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "" -#: common/models.py:829 +#: common/models.py:826 msgid "Default Currency" msgstr "" -#: common/models.py:830 +#: common/models.py:827 msgid "Default currency" msgstr "" -#: common/models.py:836 +#: common/models.py:833 msgid "Download from URL" msgstr "" -#: common/models.py:837 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:844 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:850 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:851 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:857 +#: common/models.py:854 msgid "IPN Regex" msgstr "" -#: common/models.py:858 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:869 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:870 +#: common/models.py:867 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:876 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:877 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:884 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:891 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:897 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:898 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:904 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:905 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "" -#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:912 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:918 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:919 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:925 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "" -#: common/models.py:926 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:932 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:933 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "" -#: common/models.py:939 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:940 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:946 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:947 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:953 +#: common/models.py:950 msgid "Show Import in Views" msgstr "" -#: common/models.py:954 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:960 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "" -#: common/models.py:961 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "" -#: common/models.py:972 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "" -#: common/models.py:973 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:984 +#: common/models.py:981 msgid "Show Price History" msgstr "" -#: common/models.py:985 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:991 +#: common/models.py:988 msgid "Show related parts" msgstr "" -#: common/models.py:992 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "" -#: common/models.py:998 +#: common/models.py:995 msgid "Create initial stock" msgstr "" -#: common/models.py:999 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1005 +#: common/models.py:1002 msgid "Internal Prices" msgstr "" -#: common/models.py:1006 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1012 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1013 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1019 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1020 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "" -#: common/models.py:1027 +#: common/models.py:1024 msgid "Enable Reports" msgstr "" -#: common/models.py:1028 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1034 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1035 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1041 +#: common/models.py:1038 msgid "Page Size" msgstr "" -#: common/models.py:1042 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:1049 msgid "Test Reports" msgstr "" -#: common/models.py:1053 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1059 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "" -#: common/models.py:1060 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1065 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "" -#: common/models.py:1066 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1072 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1073 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1079 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1080 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1082 +#: common/models.py:1079 msgid "days" msgstr "" -#: common/models.py:1087 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1088 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1094 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1095 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1101 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1102 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1107 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1108 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1112 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1113 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1118 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1129 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1136 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1143 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1157 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1164 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1171 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1210 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1226 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1539 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1287 msgid "Show latest parts" msgstr "Hiển thị nguyên liệu mới nhất" -#: common/models.py:1291 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "Hiển thị nguyên liệu mới nhất trên trang chủ" -#: common/models.py:1297 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1322 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1336 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1343 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1350 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1357 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1398 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1405 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1412 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1419 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1426 msgid "Search Categories" msgstr "" -#: common/models.py:1430 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1433 msgid "Search Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1440 msgid "Search Locations" msgstr "" -#: common/models.py:1444 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1447 msgid "Search Companies" msgstr "" -#: common/models.py:1451 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1458 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1465 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "" -#: common/models.py:1472 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1479 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1486 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1492 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1493 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1499 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1500 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1506 +#: common/models.py:1503 msgid "Date Format" msgstr "" -#: common/models.py:1507 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1521 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1522 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1590 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "" -#: common/models.py:1597 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1598 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1755 common/models.py:1892 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "" -#: common/models.py:1756 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1765 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "" -#: common/models.py:1770 part/models.py:988 plugin/models.py:49 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2401,216 +2404,216 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "" -#: common/models.py:1785 +#: common/models.py:1782 msgid "Token" msgstr "" -#: common/models.py:1786 +#: common/models.py:1783 msgid "Token for access" msgstr "" -#: common/models.py:1793 +#: common/models.py:1790 msgid "Secret" msgstr "" -#: common/models.py:1794 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1859 +#: common/models.py:1856 msgid "Message ID" msgstr "" -#: common/models.py:1860 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1868 +#: common/models.py:1865 msgid "Host" msgstr "" -#: common/models.py:1869 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1876 +#: common/models.py:1873 msgid "Header" msgstr "" -#: common/models.py:1877 +#: common/models.py:1874 msgid "Header of this message" msgstr "" -#: common/models.py:1883 +#: common/models.py:1880 msgid "Body" msgstr "" -#: common/models.py:1884 +#: common/models.py:1881 msgid "Body of this message" msgstr "" -#: common/models.py:1893 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1898 +#: common/models.py:1895 msgid "Worked on" msgstr "" -#: common/models.py:1899 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:532 stock/models.py:619 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2618,11 +2621,11 @@ msgstr "" msgid "Manufacturer" msgstr "Nhà sản xuất" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 @@ -2630,59 +2633,59 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2205 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 @@ -2690,66 +2693,66 @@ msgstr "" msgid "Supplier" msgstr "Nhà cung cấp" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:97 +#: company/models.py:545 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:643 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "" @@ -2804,10 +2807,10 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:662 -#: stock/models.py:663 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 @@ -2956,7 +2959,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2989,7 +2992,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3004,8 +3007,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "" @@ -3028,7 +3031,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "" @@ -3057,8 +3060,8 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:627 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3084,12 +3087,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "" @@ -3143,11 +3146,11 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3171,54 +3174,54 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3226,486 +3229,486 @@ msgstr "" msgid "No valid objects provided to template" msgstr "" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:258 +#: label/models.py:255 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:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:256 order/templates/order/order_base.html:124 +#: order/models.py:258 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1155 +#: order/models.py:617 order/models.py:1157 #: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 #: templates/js/translated/order.js:2718 msgid "Order" msgstr "" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 +#: stock/templates/stock/item_base.html:342 #: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "Đơn hàng" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "" -#: order/models.py:976 order/templates/order/order_base.html:169 +#: order/models.py:978 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "Giá mua" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "" @@ -3825,7 +3828,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 @@ -3943,7 +3946,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "" @@ -3951,73 +3954,73 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "" -#: part/api.py:1037 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1041 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1056 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" @@ -4037,46 +4040,46 @@ msgstr "" msgid "On Order" msgstr "" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4087,65 +4090,65 @@ msgstr "" msgid "Parts" msgstr "Nguyên liệu" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4154,352 +4157,352 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "" @@ -4668,7 +4671,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "" @@ -4816,7 +4819,7 @@ msgstr "" msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "" @@ -4868,46 +4871,38 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4969,20 +4964,20 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "" @@ -4991,8 +4986,8 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "" @@ -5080,7 +5075,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "" @@ -5099,7 +5094,7 @@ msgid "Latest Serial Number" msgstr "Số seri mới nhất" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "" @@ -5138,7 +5133,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "" @@ -5257,7 +5252,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "" @@ -5367,80 +5362,80 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "" @@ -5518,35 +5513,43 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:29 +#: plugin/models.py:36 +msgid "Plugin Metadata" +msgstr "" + +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" +msgstr "" + +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:92 msgid "Key" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "" -#: plugin/models.py:44 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:50 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:123 +#: plugin/models.py:180 msgid "Plugin" msgstr "" -#: plugin/models.py:197 +#: plugin/models.py:254 msgid "Method" msgstr "" @@ -5590,35 +5593,35 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "" @@ -5627,87 +5630,87 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "" @@ -5724,7 +5727,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:667 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 @@ -5738,12 +5741,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2193 +#: stock/models.py:2190 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2199 +#: stock/models.py:2196 msgid "Result" msgstr "" @@ -5773,362 +5776,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:762 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:763 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:568 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:611 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:620 +#: stock/models.py:617 msgid "Base part" msgstr "" -#: stock/models.py:628 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:634 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Kho hàng" -#: stock/models.py:637 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:644 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:650 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "" -#: stock/models.py:653 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:669 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "" -#: stock/models.py:683 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:688 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "" -#: stock/models.py:697 +#: stock/models.py:694 msgid "Source Build" msgstr "" -#: stock/models.py:699 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "" -#: stock/models.py:710 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:713 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:719 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:725 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:726 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:749 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:790 +#: stock/models.py:787 msgid "Converted to part" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1322 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1325 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1428 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1612 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2113 +#: stock/models.py:2110 msgid "Entry notes" msgstr "" -#: stock/models.py:2170 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2176 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2194 +#: stock/models.py:2191 msgid "Test name" msgstr "" -#: stock/models.py:2200 +#: stock/models.py:2197 msgid "Test result" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2203 msgid "Test output value" msgstr "" -#: stock/models.py:2213 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "" -#: stock/models.py:2219 +#: stock/models.py:2216 msgid "Test notes" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "" @@ -6153,7 +6156,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" @@ -6177,194 +6180,198 @@ msgstr "" msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 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:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -6385,54 +6392,58 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6485,7 +6496,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "" @@ -6510,55 +6521,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "" @@ -6827,7 +6838,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" @@ -7276,9 +7287,9 @@ msgid "InvenTree Version Information" msgstr "" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7518,15 +7529,15 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "" @@ -7548,13 +7559,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7590,11 +7601,11 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "" @@ -7606,27 +7617,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "" @@ -7638,11 +7649,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7711,7 +7722,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "" @@ -7780,178 +7791,182 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "" @@ -8366,61 +8381,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "" @@ -8478,78 +8493,78 @@ msgstr "" msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "" @@ -9223,7 +9238,7 @@ msgstr "" msgid "Single Price Difference" msgstr "" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index 111bd74719..294abc6964 100644 --- a/InvenTree/locale/zh/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-15 23:30+0000\n" -"PO-Revision-Date: 2022-05-16 01:10\n" +"POT-Creation-Date: 2022-05-16 14:52+0000\n" +"PO-Revision-Date: 2022-05-17 01:05\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -17,56 +17,56 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:53 +#: InvenTree/api.py:50 msgid "API endpoint not found" msgstr "未找到 API 端点" -#: InvenTree/fields.py:100 +#: InvenTree/fields.py:98 msgid "Enter date" msgstr "输入日期" -#: InvenTree/forms.py:126 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:614 +#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:615 msgid "Confirm" msgstr "确认" -#: InvenTree/forms.py:142 +#: InvenTree/forms.py:140 msgid "Confirm delete" msgstr "确认删除" -#: InvenTree/forms.py:143 +#: InvenTree/forms.py:141 msgid "Confirm item deletion" msgstr "确认删除" -#: InvenTree/forms.py:174 +#: InvenTree/forms.py:172 msgid "Enter password" msgstr "输入密码" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:173 msgid "Enter new password" msgstr "输入新密码" -#: InvenTree/forms.py:182 +#: InvenTree/forms.py:180 msgid "Confirm password" msgstr "确认密码" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:181 msgid "Confirm new password" msgstr "确认新密码" -#: InvenTree/forms.py:215 +#: InvenTree/forms.py:213 msgid "Select Category" msgstr "选择分类" -#: InvenTree/forms.py:236 +#: InvenTree/forms.py:234 msgid "Email (again)" msgstr "Email (再次)" -#: InvenTree/forms.py:240 +#: InvenTree/forms.py:238 msgid "Email address confirmation" msgstr "Email 地址确认" -#: InvenTree/forms.py:260 +#: InvenTree/forms.py:258 msgid "You must type the same email each time." msgstr "您必须输入相同的 Email 。" @@ -75,7 +75,7 @@ msgstr "您必须输入相同的 Email 。" msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:309 order/models.py:463 msgid "Invalid quantity provided" msgstr "提供的数量无效" @@ -120,7 +120,7 @@ msgstr "缺少文件" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:197 stock/models.py:2212 +#: InvenTree/models.py:197 stock/models.py:2209 #: templates/js/translated/attachment.js:119 msgid "Attachment" msgstr "附件" @@ -129,16 +129,16 @@ msgstr "附件" msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:204 company/models.py:131 company/models.py:345 -#: company/models.py:561 order/models.py:132 part/models.py:870 +#: InvenTree/models.py:204 company/models.py:128 company/models.py:342 +#: company/models.py:558 order/models.py:134 part/models.py:868 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:540 #: templates/js/translated/company.js:829 templates/js/translated/part.js:1441 msgid "Link" msgstr "链接" -#: InvenTree/models.py:205 build/models.py:332 part/models.py:871 -#: stock/models.py:677 +#: InvenTree/models.py:205 build/models.py:330 part/models.py:869 +#: stock/models.py:674 msgid "Link to external URL" msgstr "链接到外部 URL" @@ -150,10 +150,10 @@ msgstr "注释" msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1546 -#: common/models.py:1547 common/models.py:1778 common/models.py:1779 -#: common/models.py:2006 common/models.py:2007 part/models.py:2371 -#: part/models.py:2391 plugin/models.py:204 plugin/models.py:205 +#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1543 +#: common/models.py:1544 common/models.py:1775 common/models.py:1776 +#: common/models.py:2003 common/models.py:2004 part/models.py:2369 +#: part/models.py:2389 plugin/models.py:261 plugin/models.py:262 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2518 msgid "User" @@ -192,9 +192,9 @@ msgstr "重命名文件出错" msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1764 -#: company/models.py:412 label/models.py:112 part/models.py:814 -#: part/models.py:2555 plugin/models.py:43 report/models.py:177 +#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1761 +#: company/models.py:409 label/models.py:109 part/models.py:812 +#: part/models.py:2553 plugin/models.py:100 report/models.py:174 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -207,19 +207,19 @@ msgstr "选择无效" msgid "Name" msgstr "名称" -#: InvenTree/models.py:349 build/models.py:209 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:567 company/templates/company/company_base.html:71 +#: InvenTree/models.py:349 build/models.py:207 +#: build/templates/build/detail.html:24 company/models.py:348 +#: company/models.py:564 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:119 -#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:116 +#: order/models.py:132 part/models.py:835 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:190 -#: report/models.py:555 report/models.py:594 +#: part/templates/part/set_category.html:14 report/models.py:187 +#: report/models.py:552 report/models.py:591 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:94 +#: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 #: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 #: templates/js/translated/company.js:551 #: templates/js/translated/company.js:840 templates/js/translated/order.js:1455 @@ -239,56 +239,56 @@ msgstr "描述 (可选)" msgid "parent" msgstr "上级项" -#: InvenTree/serializers.py:65 part/models.py:2888 +#: InvenTree/serializers.py:62 part/models.py:2886 msgid "Must be a valid number" msgstr "必须是有效数字" -#: InvenTree/serializers.py:299 +#: InvenTree/serializers.py:296 msgid "Filename" msgstr "文件名" -#: InvenTree/serializers.py:334 +#: InvenTree/serializers.py:331 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:355 +#: InvenTree/serializers.py:352 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:353 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:377 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:386 +#: InvenTree/serializers.py:383 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:404 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:407 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:533 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:536 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:623 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:632 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -431,7 +431,7 @@ msgstr "丢失" msgid "Returned" msgstr "已退回" -#: InvenTree/status_codes.py:143 order/models.py:1068 +#: InvenTree/status_codes.py:143 order/models.py:1070 #: templates/js/translated/order.js:2870 templates/js/translated/order.js:3187 msgid "Shipped" msgstr "已发货" @@ -584,42 +584,42 @@ msgstr "备损不能超过 100%" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:537 +#: InvenTree/views.py:535 msgid "Delete Item" msgstr "删除项" -#: InvenTree/views.py:586 +#: InvenTree/views.py:584 msgid "Check box to confirm item deletion" msgstr "选中方框以确认项目删除" -#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:599 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "编辑用户信息" -#: InvenTree/views.py:612 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:610 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "设置密码" -#: InvenTree/views.py:631 +#: InvenTree/views.py:629 msgid "Password fields must match" msgstr "密码字段必须相匹配。" -#: InvenTree/views.py:882 templates/navbar.html:152 +#: InvenTree/views.py:880 templates/navbar.html:152 msgid "System Information" msgstr "系统信息" -#: build/models.py:135 +#: build/models.py:133 msgid "Invalid choice for parent build" msgstr "上级生产选项无效" -#: build/models.py:139 build/templates/build/build_base.html:9 +#: 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:727 msgid "Build Order" msgstr "生产订单" -#: build/models.py:140 build/templates/build/build_base.html:13 +#: 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:114 #: order/templates/order/so_sidebar.html:13 @@ -629,40 +629,41 @@ msgstr "生产订单" msgid "Build Orders" msgstr "生产订单" -#: build/models.py:200 +#: build/models.py:198 msgid "Build Order Reference" msgstr "相关生产订单" -#: build/models.py:201 order/models.py:237 order/models.py:589 -#: order/models.py:869 part/models.py:2799 +#: build/models.py:199 order/models.py:239 order/models.py:591 +#: order/models.py:871 part/models.py:2797 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794 -#: templates/js/translated/order.js:1694 templates/js/translated/order.js:1895 -#: templates/js/translated/order.js:3054 templates/js/translated/order.js:3537 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 +#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1694 +#: templates/js/translated/order.js:1895 templates/js/translated/order.js:3054 +#: templates/js/translated/order.js:3537 msgid "Reference" msgstr "引用" -#: build/models.py:212 +#: build/models.py:210 msgid "Brief description of the build" msgstr "生产的简短描述." -#: build/models.py:221 build/templates/build/build_base.html:169 +#: build/models.py:219 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "上级生产" -#: build/models.py:222 +#: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "此次生产匹配的订单" -#: build/models.py:227 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:703 -#: order/models.py:968 order/models.py:1057 part/models.py:369 -#: part/models.py:2317 part/models.py:2333 part/models.py:2352 -#: part/models.py:2369 part/models.py:2471 part/models.py:2593 -#: part/models.py:2683 part/models.py:2774 part/models.py:3064 +#: build/models.py:225 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:700 +#: order/models.py:970 order/models.py:1059 part/models.py:367 +#: part/models.py:2315 part/models.py:2331 part/models.py:2350 +#: part/models.py:2367 part/models.py:2469 part/models.py:2591 +#: part/models.py:2681 part/models.py:2772 part/models.py:3062 #: part/serializers.py:922 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -673,10 +674,11 @@ msgstr "此次生产匹配的订单" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 -#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551 -#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158 -#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100 -#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492 +#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 +#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 +#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 +#: templates/js/translated/company.js:492 #: templates/js/translated/company.js:749 templates/js/translated/order.js:93 #: templates/js/translated/order.js:761 templates/js/translated/order.js:1193 #: templates/js/translated/order.js:1648 templates/js/translated/order.js:2474 @@ -689,132 +691,132 @@ msgstr "此次生产匹配的订单" msgid "Part" msgstr "商品" -#: build/models.py:235 +#: build/models.py:233 msgid "Select part to build" msgstr "选择要生产的商品" -#: build/models.py:240 +#: build/models.py:238 msgid "Sales Order Reference" msgstr "相关销售订单" -#: build/models.py:244 +#: build/models.py:242 msgid "SalesOrder to which this build is allocated" msgstr "此次生产匹配的销售订单" -#: build/models.py:249 build/serializers.py:794 +#: build/models.py:247 build/serializers.py:791 #: templates/js/translated/build.js:2088 templates/js/translated/order.js:2462 msgid "Source Location" msgstr "来源地点" -#: build/models.py:253 +#: 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:258 +#: build/models.py:256 msgid "Destination Location" msgstr "目标地点" -#: build/models.py:262 +#: build/models.py:260 msgid "Select location where the completed items will be stored" msgstr "选择已完成项目仓储地点" -#: build/models.py:266 +#: build/models.py:264 msgid "Build Quantity" msgstr "生产数量" -#: build/models.py:269 +#: build/models.py:267 msgid "Number of stock items to build" msgstr "要生产的项目数量" -#: build/models.py:273 +#: build/models.py:271 msgid "Completed items" msgstr "已完成项目" -#: build/models.py:275 +#: build/models.py:273 msgid "Number of stock items which have been completed" msgstr "已完成的库存项目数量" -#: build/models.py:279 +#: build/models.py:277 msgid "Build Status" msgstr "生产状态" -#: build/models.py:283 +#: build/models.py:281 msgid "Build status code" msgstr "生产状态代码" -#: build/models.py:287 build/serializers.py:223 order/serializers.py:448 -#: stock/models.py:681 templates/js/translated/order.js:1053 +#: build/models.py:285 build/serializers.py:220 order/serializers.py:445 +#: stock/models.py:678 templates/js/translated/order.js:1053 msgid "Batch Code" msgstr "批量代码" -#: build/models.py:291 build/serializers.py:224 +#: build/models.py:289 build/serializers.py:221 msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:294 order/models.py:134 part/models.py:1009 +#: build/models.py:292 order/models.py:136 part/models.py:1007 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2160 msgid "Creation Date" msgstr "创建日期" -#: build/models.py:298 order/models.py:611 +#: build/models.py:296 order/models.py:613 msgid "Target completion date" msgstr "预计完成日期" -#: build/models.py:299 +#: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/models.py:302 order/models.py:280 +#: build/models.py:300 order/models.py:282 #: templates/js/translated/build.js:2490 msgid "Completion Date" msgstr "完成日期:" -#: build/models.py:308 +#: build/models.py:306 msgid "completed by" msgstr "完成人" -#: build/models.py:316 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2458 msgid "Issued by" msgstr "发布者" -#: build/models.py:317 +#: build/models.py:315 msgid "User who issued this build order" msgstr "发布此生产订单的用户" -#: build/models.py:325 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/models.py:323 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:150 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:182 part/models.py:1013 +#: order/templates/order/sales_order_base.html:182 part/models.py:1011 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2470 templates/js/translated/order.js:1489 msgid "Responsible" msgstr "责任人" -#: build/models.py:326 +#: build/models.py:324 msgid "User responsible for this build order" msgstr "负责此生产订单的用户" -#: build/models.py:331 build/templates/build/detail.html:101 +#: build/models.py:329 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:108 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:675 -#: stock/templates/stock/item_base.html:357 +#: part/templates/part/part_base.html:346 stock/models.py:672 +#: stock/templates/stock/item_base.html:363 msgid "External Link" msgstr "外部链接" -#: build/models.py:336 build/serializers.py:394 -#: build/templates/build/sidebar.html:21 company/models.py:142 -#: company/models.py:574 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:871 order/models.py:1178 +#: build/models.py:334 build/serializers.py:391 +#: build/templates/build/sidebar.html:21 company/models.py:139 +#: company/models.py:571 company/templates/company/sidebar.html:25 +#: order/models.py:154 order/models.py:873 order/models.py:1180 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:998 +#: order/templates/order/so_sidebar.html:17 part/models.py:996 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:748 stock/models.py:2112 stock/models.py:2218 -#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739 -#: stock/serializers.py:837 stock/serializers.py:969 +#: stock/models.py:745 stock/models.py:2109 stock/models.py:2215 +#: stock/serializers.py:329 stock/serializers.py:467 stock/serializers.py:736 +#: stock/serializers.py:834 stock/serializers.py:966 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 #: templates/js/translated/company.js:845 templates/js/translated/order.js:1815 #: templates/js/translated/order.js:1966 templates/js/translated/order.js:2343 #: templates/js/translated/order.js:3212 templates/js/translated/order.js:3608 @@ -822,62 +824,62 @@ msgstr "外部链接" msgid "Notes" msgstr "备注" -#: build/models.py:337 +#: build/models.py:335 msgid "Extra build notes" msgstr "额外的生产备注" -#: build/models.py:775 +#: build/models.py:773 msgid "No build output specified" msgstr "未指定生产产出" -#: build/models.py:778 +#: build/models.py:776 msgid "Build output is already completed" msgstr "生产产出已完成" -#: build/models.py:781 +#: build/models.py:779 msgid "Build output does not match Build Order" msgstr "生产产出与订单不匹配" -#: build/models.py:1214 +#: build/models.py:1212 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1223 +#: build/models.py:1221 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1233 +#: build/models.py:1231 msgid "Stock item is over-allocated" msgstr "库存物品分配过度!" -#: build/models.py:1239 order/models.py:1311 +#: build/models.py:1237 order/models.py:1313 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" -#: build/models.py:1245 +#: build/models.py:1243 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1302 +#: build/models.py:1300 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1376 stock/templates/stock/item_base.html:329 +#: build/models.py:1374 stock/templates/stock/item_base.html:335 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 #: templates/navbar.html:38 msgid "Build" msgstr "生产" -#: build/models.py:1377 +#: build/models.py:1375 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961 -#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677 -#: stock/serializers.py:795 stock/templates/stock/item_base.html:9 +#: build/models.py:1391 build/serializers.py:632 order/serializers.py:958 +#: order/serializers.py:976 stock/serializers.py:401 stock/serializers.py:674 +#: stock/serializers.py:792 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:357 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 #: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 #: templates/js/translated/order.js:94 templates/js/translated/order.js:2475 @@ -888,18 +890,18 @@ msgstr "" msgid "Stock Item" msgstr "库存项" -#: build/models.py:1394 +#: build/models.py:1392 msgid "Source stock item" msgstr "源库存项" -#: build/models.py:1406 build/serializers.py:193 +#: build/models.py:1404 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1589 -#: company/forms.py:42 company/templates/company/supplier_part.html:258 -#: order/models.py:862 order/models.py:1351 order/serializers.py:1100 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126 -#: part/forms.py:142 part/forms.py:158 part/models.py:2790 -#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056 +#: build/templates/build/detail.html:34 common/models.py:1586 +#: company/forms.py:39 company/templates/company/supplier_part.html:258 +#: order/models.py:864 order/models.py:1353 order/serializers.py:1097 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:123 +#: part/forms.py:139 part/forms.py:155 part/models.py:2788 +#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -907,13 +909,14 @@ msgstr "源库存项" #: 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/serializers.py:293 stock/templates/stock/item_base.html:181 -#: stock/templates/stock/item_base.html:246 -#: stock/templates/stock/item_base.html:254 -#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805 -#: templates/js/translated/build.js:422 templates/js/translated/build.js:574 -#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180 -#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103 +#: stock/serializers.py:290 stock/templates/stock/item_base.html:187 +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:260 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 +#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/build.js:574 templates/js/translated/build.js:765 +#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:2103 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:110 templates/js/translated/order.js:764 #: templates/js/translated/order.js:1700 templates/js/translated/order.js:1901 @@ -928,87 +931,87 @@ msgstr "源库存项" msgid "Quantity" msgstr "数量" -#: build/models.py:1407 +#: build/models.py:1405 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1415 +#: build/models.py:1413 msgid "Install into" msgstr "安装到" -#: build/models.py:1416 +#: build/models.py:1414 msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:664 +#: build/serializers.py:135 build/serializers.py:661 #: templates/js/translated/build.js:1168 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:147 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:151 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:155 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:166 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:191 msgid "Enter quantity for build output" msgstr "输入生产产出数量" -#: build/serializers.py:206 build/serializers.py:655 order/models.py:305 -#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593 -#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1319 -#: stock/serializers.py:305 +#: build/serializers.py:203 build/serializers.py:652 order/models.py:307 +#: order/serializers.py:294 order/serializers.py:440 part/serializers.py:593 +#: part/serializers.py:1089 stock/models.py:505 stock/models.py:1316 +#: stock/serializers.py:302 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:210 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:213 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104 -#: stock/serializers.py:314 templates/js/translated/order.js:1064 +#: build/serializers.py:227 order/serializers.py:453 order/serializers.py:1101 +#: stock/serializers.py:311 templates/js/translated/order.js:1064 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "序列号" -#: build/serializers.py:231 +#: build/serializers.py:228 msgid "Enter serial numbers for build outputs" msgstr "输入生产产出的序列号" -#: build/serializers.py:245 +#: build/serializers.py:242 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:243 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:280 stock/api.py:594 +#: build/serializers.py:277 stock/api.py:602 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:333 build/serializers.py:406 +#: build/serializers.py:330 build/serializers.py:403 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534 -#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830 -#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297 +#: build/serializers.py:373 order/serializers.py:426 order/serializers.py:531 +#: stock/serializers.py:322 stock/serializers.py:462 stock/serializers.py:827 +#: stock/serializers.py:1068 stock/templates/stock/item_base.html:303 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091 @@ -1020,13 +1023,13 @@ msgstr "" msgid "Location" msgstr "地点" -#: build/serializers.py:377 +#: build/serializers.py:374 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:383 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 -#: order/serializers.py:466 stock/templates/stock/item_base.html:187 +#: build/serializers.py:380 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:607 +#: order/serializers.py:463 stock/templates/stock/item_base.html:193 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 #: templates/js/translated/order.js:1198 templates/js/translated/order.js:1459 #: templates/js/translated/order.js:2152 templates/js/translated/stock.js:1768 @@ -1034,129 +1037,129 @@ msgstr "" msgid "Status" msgstr "状态" -#: build/serializers.py:389 +#: build/serializers.py:386 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:387 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:467 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:468 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:490 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:494 +#: build/serializers.py:491 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:504 templates/js/translated/build.js:195 +#: build/serializers.py:501 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "所需库存尚未完全分配" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:520 templates/js/translated/build.js:199 +#: build/serializers.py:517 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "所需生产数量尚未完成" -#: build/serializers.py:529 +#: build/serializers.py:526 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:532 build/templates/build/build_base.html:95 +#: build/serializers.py:529 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914 -#: part/models.py:3056 +#: build/serializers.py:557 build/serializers.py:606 part/models.py:2912 +#: part/models.py:3054 msgid "BOM Item" msgstr "" -#: build/serializers.py:570 +#: build/serializers.py:567 msgid "Build output" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:626 +#: build/serializers.py:623 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:641 stock/serializers.py:684 +#: build/serializers.py:638 stock/serializers.py:681 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:698 order/serializers.py:1012 +#: build/serializers.py:695 order/serializers.py:1009 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:704 +#: build/serializers.py:701 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:708 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:713 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:743 order/serializers.py:1274 +#: build/serializers.py:740 order/serializers.py:1271 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:795 +#: build/serializers.py:792 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:803 +#: build/serializers.py:800 msgid "Exclude Location" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:801 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:809 +#: build/serializers.py:806 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:810 +#: build/serializers.py:807 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:812 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:813 msgid "Allow allocation of substitute parts" msgstr "" @@ -1226,7 +1229,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:875 +#: build/templates/build/detail.html:131 order/models.py:877 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:163 #: report/templates/report/inventree_build_order_base.html:126 @@ -1259,13 +1262,13 @@ msgid "Completed" msgstr "已完成" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1054 -#: order/models.py:1150 order/models.py:1249 +#: build/templates/build/detail.html:94 order/models.py:1056 +#: order/models.py:1152 order/models.py:1251 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:297 #: templates/js/translated/order.js:2107 msgid "Sales Order" msgstr "销售订单" @@ -1301,7 +1304,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:990 +#: build/templates/build/detail.html:49 order/models.py:992 #: templates/js/translated/order.js:1199 templates/js/translated/order.js:1804 msgid "Destination" msgstr "" @@ -1315,7 +1318,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 -#: stock/templates/stock/item_base.html:315 +#: stock/templates/stock/item_base.html:321 #: templates/js/translated/build.js:1184 #: templates/js/translated/model_renderers.js:112 #: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782 @@ -1432,12 +1435,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:263 -#: stock/templates/stock/location.html:188 templates/stock_table.html:27 +#: stock/templates/stock/location.html:197 templates/stock_table.html:27 msgid "Printing Actions" msgstr "打印操作" #: build/templates/build/detail.html:267 build/templates/build/detail.html:268 -#: stock/templates/stock/location.html:192 templates/stock_table.html:31 +#: stock/templates/stock/location.html:201 templates/stock_table.html:31 msgid "Print labels" msgstr "打印标签" @@ -1503,7 +1506,7 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:83 +#: build/views.py:80 msgid "Delete Build Order" msgstr "删除生产订单" @@ -1527,873 +1530,873 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 +#: common/forms.py:31 msgid "File" msgstr "" -#: common/forms.py:35 +#: common/forms.py:32 msgid "Select file to upload" msgstr "" -#: common/forms.py:50 +#: common/forms.py:47 msgid "{name.title()} File" msgstr "" -#: common/forms.py:51 +#: common/forms.py:48 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:401 +#: common/models.py:398 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:403 +#: common/models.py:400 msgid "Settings value" msgstr "" -#: common/models.py:444 +#: common/models.py:441 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:464 +#: common/models.py:461 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:475 +#: common/models.py:472 msgid "Value must be an integer value" msgstr "" -#: common/models.py:524 +#: common/models.py:521 msgid "Key string must be unique" msgstr "" -#: common/models.py:746 +#: common/models.py:743 msgid "No group" msgstr "" -#: common/models.py:788 +#: common/models.py:785 msgid "Restart required" msgstr "" -#: common/models.py:789 +#: common/models.py:786 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:796 +#: common/models.py:793 msgid "Server Instance Name" msgstr "" -#: common/models.py:798 +#: common/models.py:795 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:802 +#: common/models.py:799 msgid "Use instance name" msgstr "" -#: common/models.py:803 +#: common/models.py:800 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:809 +#: common/models.py:806 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:810 +#: common/models.py:807 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:816 company/models.py:100 company/models.py:101 +#: common/models.py:813 company/models.py:97 company/models.py:98 msgid "Company name" msgstr "公司名称" -#: common/models.py:817 +#: common/models.py:814 msgid "Internal company name" msgstr "内部公司名称" -#: common/models.py:822 +#: common/models.py:819 msgid "Base URL" msgstr "" -#: common/models.py:823 +#: common/models.py:820 msgid "Base URL for server instance" msgstr "" -#: common/models.py:829 +#: common/models.py:826 msgid "Default Currency" msgstr "" -#: common/models.py:830 +#: common/models.py:827 msgid "Default currency" msgstr "" -#: common/models.py:836 +#: common/models.py:833 msgid "Download from URL" msgstr "" -#: common/models.py:837 +#: common/models.py:834 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:843 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:840 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:844 +#: common/models.py:841 msgid "Enable barcode scanner support" msgstr "启用条形码扫描支持" -#: common/models.py:850 +#: common/models.py:847 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:851 +#: common/models.py:848 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:857 +#: common/models.py:854 msgid "IPN Regex" msgstr "" -#: common/models.py:858 +#: common/models.py:855 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:859 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:860 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:869 +#: common/models.py:866 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:870 +#: common/models.py:867 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:876 +#: common/models.py:873 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:877 +#: common/models.py:874 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:880 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:884 +#: common/models.py:881 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:887 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:891 +#: common/models.py:888 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:897 +#: common/models.py:894 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:898 +#: common/models.py:895 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:904 part/models.py:2595 report/models.py:183 +#: common/models.py:901 part/models.py:2593 report/models.py:180 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "模板" -#: common/models.py:905 +#: common/models.py:902 msgid "Parts are templates by default" msgstr "" -#: common/models.py:911 part/models.py:961 templates/js/translated/bom.js:1335 +#: common/models.py:908 part/models.py:959 templates/js/translated/bom.js:1411 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "组装" -#: common/models.py:912 +#: common/models.py:909 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:918 part/models.py:967 +#: common/models.py:915 part/models.py:965 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "组件" -#: common/models.py:919 +#: common/models.py:916 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:925 part/models.py:978 +#: common/models.py:922 part/models.py:976 msgid "Purchaseable" msgstr "可购买" -#: common/models.py:926 +#: common/models.py:923 msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:932 part/models.py:983 +#: common/models.py:929 part/models.py:981 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "可销售" -#: common/models.py:933 +#: common/models.py:930 msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:939 part/models.py:973 +#: common/models.py:936 part/models.py:971 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "可追踪" -#: common/models.py:940 +#: common/models.py:937 msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:946 part/models.py:993 +#: common/models.py:943 part/models.py:991 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "虚拟" -#: common/models.py:947 +#: common/models.py:944 msgid "Parts are virtual by default" msgstr "商品默认是虚拟的" -#: common/models.py:953 +#: common/models.py:950 msgid "Show Import in Views" msgstr "视图中显示导入" -#: common/models.py:954 +#: common/models.py:951 msgid "Display the import wizard in some part views" msgstr "在一些商品视图中显示导入向导" -#: common/models.py:960 +#: common/models.py:957 msgid "Show Price in Forms" msgstr "在表格中显示价格" -#: common/models.py:961 +#: common/models.py:958 msgid "Display part price in some forms" msgstr "以某些表格显示商品价格" -#: common/models.py:972 +#: common/models.py:969 msgid "Show Price in BOM" msgstr "" -#: common/models.py:973 +#: common/models.py:970 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:984 +#: common/models.py:981 msgid "Show Price History" msgstr "" -#: common/models.py:985 +#: common/models.py:982 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:991 +#: common/models.py:988 msgid "Show related parts" msgstr "显示相关商品" -#: common/models.py:992 +#: common/models.py:989 msgid "Display related parts for a part" msgstr "" -#: common/models.py:998 +#: common/models.py:995 msgid "Create initial stock" msgstr "创建初始库存" -#: common/models.py:999 +#: common/models.py:996 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1005 +#: common/models.py:1002 msgid "Internal Prices" msgstr "内部价格" -#: common/models.py:1006 +#: common/models.py:1003 msgid "Enable internal prices for parts" msgstr "启用内部商品价格" -#: common/models.py:1012 +#: common/models.py:1009 msgid "Internal Price as BOM-Price" msgstr "内部价格为BOM价格" -#: common/models.py:1013 +#: common/models.py:1010 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "在 BOM价格计算中使用内部价格(如设置)" -#: common/models.py:1019 +#: common/models.py:1016 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1020 +#: common/models.py:1017 msgid "Format to display the part name" msgstr "" -#: common/models.py:1027 +#: common/models.py:1024 msgid "Enable Reports" msgstr "" -#: common/models.py:1028 +#: common/models.py:1025 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1034 templates/stats.html:25 +#: common/models.py:1031 templates/stats.html:25 msgid "Debug Mode" msgstr "调试模式" -#: common/models.py:1035 +#: common/models.py:1032 msgid "Generate reports in debug mode (HTML output)" msgstr "在调试模式生成报告(HTML输出)" -#: common/models.py:1041 +#: common/models.py:1038 msgid "Page Size" msgstr "页面大小" -#: common/models.py:1042 +#: common/models.py:1039 msgid "Default page size for PDF reports" msgstr "PDF 报表默认页面大小" -#: common/models.py:1052 +#: common/models.py:1049 msgid "Test Reports" msgstr "测试报表" -#: common/models.py:1053 +#: common/models.py:1050 msgid "Enable generation of test reports" msgstr "启用生成测试报表" -#: common/models.py:1059 +#: common/models.py:1056 msgid "Batch Code Template" msgstr "" -#: common/models.py:1060 +#: common/models.py:1057 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1065 +#: common/models.py:1062 msgid "Stock Expiry" msgstr "库存到期" -#: common/models.py:1066 +#: common/models.py:1063 msgid "Enable stock expiry functionality" msgstr "启用库存到期功能" -#: common/models.py:1072 +#: common/models.py:1069 msgid "Sell Expired Stock" msgstr "销售过期库存" -#: common/models.py:1073 +#: common/models.py:1070 msgid "Allow sale of expired stock" msgstr "允许销售过期库存" -#: common/models.py:1079 +#: common/models.py:1076 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1080 +#: common/models.py:1077 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1082 +#: common/models.py:1079 msgid "days" msgstr "天" -#: common/models.py:1087 +#: common/models.py:1084 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1088 +#: common/models.py:1085 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1094 +#: common/models.py:1091 msgid "Stock Ownership Control" msgstr "库存所有权控制" -#: common/models.py:1095 +#: common/models.py:1092 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1101 +#: common/models.py:1098 msgid "Build Order Reference Prefix" msgstr "生产订单参考前缀" -#: common/models.py:1102 +#: common/models.py:1099 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1107 +#: common/models.py:1104 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1108 +#: common/models.py:1105 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1112 +#: common/models.py:1109 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1113 +#: common/models.py:1110 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1118 +#: common/models.py:1115 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1116 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1122 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1123 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1129 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1130 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1136 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1137 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1143 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1144 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1150 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1151 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1157 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1158 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1164 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1165 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1171 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1172 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1178 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1179 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1185 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1186 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1194 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1195 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1202 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1203 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1210 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1211 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1218 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1219 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1226 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1227 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1539 +#: common/models.py:1242 common/models.py:1536 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1273 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1274 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1280 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1281 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1287 msgid "Show latest parts" msgstr "显示最近商品" -#: common/models.py:1291 +#: common/models.py:1288 msgid "Show latest parts on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:1297 +#: common/models.py:1294 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1295 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1301 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1302 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1308 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1309 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1315 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1316 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1322 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1323 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1329 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1330 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1336 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1337 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1343 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1344 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1350 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1351 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1357 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1358 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1364 msgid "Show overdue builds" msgstr "显示逾期生产" -#: common/models.py:1368 +#: common/models.py:1365 msgid "Show overdue builds on the homepage" msgstr "在主页上显示逾期的生产" -#: common/models.py:1374 +#: common/models.py:1371 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1372 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1378 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1379 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1385 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1386 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1392 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1393 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1398 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1399 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1405 msgid "Inline label display" msgstr "内嵌标签显示" -#: common/models.py:1409 +#: common/models.py:1406 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:1415 +#: common/models.py:1412 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1413 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:1422 +#: common/models.py:1419 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1420 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1426 msgid "Search Categories" msgstr "" -#: common/models.py:1430 +#: common/models.py:1427 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1433 msgid "Search Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1434 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1440 msgid "Search Locations" msgstr "" -#: common/models.py:1444 +#: common/models.py:1441 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1447 msgid "Search Companies" msgstr "" -#: common/models.py:1451 +#: common/models.py:1448 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1454 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1458 +#: common/models.py:1455 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1461 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1465 +#: common/models.py:1462 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1468 msgid "Search Preview Results" msgstr "搜索预览结果" -#: common/models.py:1472 +#: common/models.py:1469 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1475 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1479 +#: common/models.py:1476 msgid "Hide inactive parts in search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1482 msgid "Show Quantity in Forms" msgstr "在表格中显示数量" -#: common/models.py:1486 +#: common/models.py:1483 msgid "Display available part quantity in some forms" msgstr "在某些表格中显示可用的商品数量" -#: common/models.py:1492 +#: common/models.py:1489 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1493 +#: common/models.py:1490 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1499 +#: common/models.py:1496 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1500 +#: common/models.py:1497 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1506 +#: common/models.py:1503 msgid "Date Format" msgstr "" -#: common/models.py:1507 +#: common/models.py:1504 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1521 part/templates/part/detail.html:39 +#: common/models.py:1518 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1522 +#: common/models.py:1519 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1590 company/forms.py:43 +#: common/models.py:1587 company/forms.py:40 msgid "Price break quantity" msgstr "" -#: common/models.py:1597 company/serializers.py:264 -#: company/templates/company/supplier_part.html:263 order/models.py:902 +#: common/models.py:1594 company/serializers.py:264 +#: company/templates/company/supplier_part.html:263 order/models.py:904 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "价格" -#: common/models.py:1598 +#: common/models.py:1595 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1755 common/models.py:1892 +#: common/models.py:1752 common/models.py:1889 msgid "Endpoint" msgstr "" -#: common/models.py:1756 +#: common/models.py:1753 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1765 +#: common/models.py:1762 msgid "Name for this webhook" msgstr "" -#: common/models.py:1770 part/models.py:988 plugin/models.py:49 +#: common/models.py:1767 part/models.py:986 plugin/models.py:106 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2401,216 +2404,216 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1771 +#: common/models.py:1768 msgid "Is this webhook active" msgstr "" -#: common/models.py:1785 +#: common/models.py:1782 msgid "Token" msgstr "" -#: common/models.py:1786 +#: common/models.py:1783 msgid "Token for access" msgstr "" -#: common/models.py:1793 +#: common/models.py:1790 msgid "Secret" msgstr "" -#: common/models.py:1794 +#: common/models.py:1791 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1859 +#: common/models.py:1856 msgid "Message ID" msgstr "" -#: common/models.py:1860 +#: common/models.py:1857 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1868 +#: common/models.py:1865 msgid "Host" msgstr "" -#: common/models.py:1869 +#: common/models.py:1866 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1876 +#: common/models.py:1873 msgid "Header" msgstr "" -#: common/models.py:1877 +#: common/models.py:1874 msgid "Header of this message" msgstr "" -#: common/models.py:1883 +#: common/models.py:1880 msgid "Body" msgstr "" -#: common/models.py:1884 +#: common/models.py:1881 msgid "Body of this message" msgstr "" -#: common/models.py:1893 +#: common/models.py:1890 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1898 +#: common/models.py:1895 msgid "Worked on" msgstr "" -#: common/models.py:1899 +#: common/models.py:1896 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:93 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:122 part/views.py:208 +#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:119 part/views.py:205 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "上传文件" -#: common/views.py:94 order/views.py:123 +#: common/views.py:91 order/views.py:120 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:209 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:206 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "匹配字段" -#: common/views.py:95 +#: common/views.py:92 msgid "Match Items" msgstr "匹配项" -#: common/views.py:440 +#: common/views.py:437 msgid "Fields matching failed" msgstr "字段匹配失败" -#: common/views.py:495 +#: common/views.py:492 msgid "Parts imported" msgstr "已导入商品" -#: common/views.py:517 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:24 part/forms.py:46 +#: company/forms.py:21 part/forms.py:43 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:25 part/forms.py:47 +#: company/forms.py:22 part/forms.py:44 msgid "Image URL" msgstr "图片URL" -#: company/models.py:105 +#: company/models.py:102 msgid "Company description" msgstr "公司简介" -#: company/models.py:106 +#: company/models.py:103 msgid "Description of the company" msgstr "公司简介" -#: company/models.py:112 company/templates/company/company_base.html:100 +#: company/models.py:109 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:349 msgid "Website" msgstr "网站" -#: company/models.py:113 +#: company/models.py:110 msgid "Company website URL" msgstr "公司网站" -#: company/models.py:117 company/templates/company/company_base.html:118 +#: company/models.py:114 company/templates/company/company_base.html:118 msgid "Address" msgstr "地址" -#: company/models.py:118 +#: company/models.py:115 msgid "Company address" msgstr "公司地址" -#: company/models.py:121 +#: company/models.py:118 msgid "Phone number" msgstr "电话号码" -#: company/models.py:122 +#: company/models.py:119 msgid "Contact phone number" msgstr "联系电话" -#: company/models.py:125 company/templates/company/company_base.html:132 +#: company/models.py:122 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "电子邮件" -#: company/models.py:125 +#: company/models.py:122 msgid "Contact email address" msgstr "联系人电子邮件" -#: company/models.py:128 company/templates/company/company_base.html:139 +#: company/models.py:125 company/templates/company/company_base.html:139 msgid "Contact" msgstr "联系人" -#: company/models.py:129 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:131 +#: company/models.py:128 msgid "Link to external company information" msgstr "链接到外部公司信息" -#: company/models.py:139 part/models.py:880 +#: company/models.py:136 part/models.py:878 msgid "Image" msgstr "图片" -#: company/models.py:144 +#: company/models.py:141 msgid "is customer" msgstr "是客户" -#: company/models.py:144 +#: company/models.py:141 msgid "Do you sell items to this company?" msgstr "您是否向该公司出售商品?" -#: company/models.py:146 +#: company/models.py:143 msgid "is supplier" msgstr "是供应商" -#: company/models.py:146 +#: company/models.py:143 msgid "Do you purchase items from this company?" msgstr "您是否从该公司采购商品?" -#: company/models.py:148 +#: company/models.py:145 msgid "is manufacturer" msgstr "是制造商" -#: company/models.py:148 +#: company/models.py:145 msgid "Does this company manufacture parts?" msgstr "该公司制造商品吗?" -#: company/models.py:152 company/serializers.py:270 +#: company/models.py:149 company/serializers.py:270 #: company/templates/company/company_base.html:106 part/serializers.py:156 -#: part/serializers.py:188 stock/serializers.py:179 +#: part/serializers.py:188 stock/serializers.py:176 msgid "Currency" msgstr "货币" -#: company/models.py:155 +#: company/models.py:152 msgid "Default currency used for this company" msgstr "该公司使用的默认货币" -#: company/models.py:317 company/models.py:532 stock/models.py:619 -#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541 +#: company/models.py:314 company/models.py:529 stock/models.py:616 +#: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:536 +#: company/models.py:318 company/models.py:533 msgid "Select part" msgstr "选择商品" -#: company/models.py:332 company/templates/company/company_base.html:76 +#: company/models.py:329 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 -#: stock/templates/stock/item_base.html:364 +#: stock/templates/stock/item_base.html:370 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:517 #: templates/js/translated/company.js:800 templates/js/translated/part.js:235 @@ -2618,11 +2621,11 @@ msgstr "选择商品" msgid "Manufacturer" msgstr "制造商" -#: company/models.py:333 templates/js/translated/part.js:236 +#: company/models.py:330 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "选择制造商" -#: company/models.py:339 company/templates/company/manufacturer_part.html:102 +#: company/models.py:336 company/templates/company/manufacturer_part.html:102 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:818 templates/js/translated/order.js:1682 @@ -2630,59 +2633,59 @@ msgstr "选择制造商" msgid "MPN" msgstr "" -#: company/models.py:340 templates/js/translated/part.js:247 +#: company/models.py:337 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "制造商商品编号" -#: company/models.py:346 +#: company/models.py:343 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:349 msgid "Manufacturer part description" msgstr "制造商商品描述" -#: company/models.py:406 company/models.py:555 +#: company/models.py:403 company/models.py:552 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:374 +#: stock/templates/stock/item_base.html:380 msgid "Manufacturer Part" msgstr "制造商商品" -#: company/models.py:413 +#: company/models.py:410 msgid "Parameter name" msgstr "参数名称" -#: company/models.py:419 +#: company/models.py:416 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2205 templates/js/translated/company.js:647 +#: stock/models.py:2202 templates/js/translated/company.js:647 #: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 msgid "Value" msgstr "数值" -#: company/models.py:420 +#: company/models.py:417 msgid "Parameter value" msgstr "参数值" -#: company/models.py:426 part/models.py:955 part/models.py:2563 +#: company/models.py:423 part/models.py:953 part/models.py:2561 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:653 templates/js/translated/part.js:782 msgid "Units" msgstr "单位" -#: company/models.py:427 +#: company/models.py:424 msgid "Parameter units" msgstr "参数单位" -#: company/models.py:499 +#: company/models.py:496 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:542 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/models.py:539 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:254 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:387 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:774 templates/js/translated/order.js:1442 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 @@ -2690,66 +2693,66 @@ msgstr "" msgid "Supplier" msgstr "供应商" -#: company/models.py:543 templates/js/translated/part.js:217 +#: company/models.py:540 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:548 company/templates/company/supplier_part.html:97 +#: company/models.py:545 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1669 #: templates/js/translated/part.js:227 templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:549 templates/js/translated/part.js:228 +#: company/models.py:546 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:556 +#: company/models.py:553 msgid "Select manufacturer part" msgstr "选择制造商商品" -#: company/models.py:562 +#: company/models.py:559 msgid "URL for external supplier part link" msgstr "外部供货商商品链接URL" -#: company/models.py:568 +#: company/models.py:565 msgid "Supplier part description" msgstr "供应商商品描述" -#: company/models.py:573 company/templates/company/supplier_part.html:125 -#: part/models.py:2802 part/templates/part/upload_bom.html:59 +#: company/models.py:570 company/templates/company/supplier_part.html:125 +#: part/models.py:2800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:406 msgid "Note" msgstr "备注" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "base cost" msgstr "" -#: company/models.py:577 part/models.py:1873 +#: company/models.py:574 part/models.py:1871 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" -#: company/models.py:579 company/templates/company/supplier_part.html:118 -#: stock/models.py:643 stock/templates/stock/item_base.html:322 +#: company/models.py:576 company/templates/company/supplier_part.html:118 +#: stock/models.py:640 stock/templates/stock/item_base.html:328 #: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918 msgid "Packaging" msgstr "打包" -#: company/models.py:579 +#: company/models.py:576 msgid "Part packaging" msgstr "商品打包" -#: company/models.py:581 part/models.py:1875 +#: company/models.py:578 part/models.py:1873 msgid "multiple" msgstr "" -#: company/models.py:581 +#: company/models.py:578 msgid "Order multiple" msgstr "" -#: company/models.py:705 +#: company/models.py:702 msgid "last updated" msgstr "" @@ -2804,10 +2807,10 @@ msgstr "上传新图片" msgid "Download image from URL" msgstr "从 URL 下载图片" -#: company/templates/company/company_base.html:86 order/models.py:600 -#: order/templates/order/sales_order_base.html:115 stock/models.py:662 -#: stock/models.py:663 stock/serializers.py:725 -#: stock/templates/stock/item_base.html:274 +#: company/templates/company/company_base.html:86 order/models.py:602 +#: order/templates/order/sales_order_base.html:115 stock/models.py:659 +#: stock/models.py:660 stock/serializers.py:722 +#: stock/templates/stock/item_base.html:280 #: templates/js/translated/company.js:329 templates/js/translated/order.js:2129 #: templates/js/translated/stock.js:2436 #: templates/js/translated/table_filters.js:419 @@ -2956,7 +2959,7 @@ msgstr "删除所有选定的供应商商品" msgid "Supplier List" msgstr "供应商列表" -#: company/templates/company/manufacturer_part.html:15 company/views.py:56 +#: company/templates/company/manufacturer_part.html:15 company/views.py:52 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 #: templates/navbar.html:49 msgid "Manufacturers" @@ -2989,7 +2992,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:120 -#: company/templates/company/supplier_part.html:15 company/views.py:50 +#: company/templates/company/supplier_part.html:15 company/views.py:46 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:188 templates/navbar.html:48 msgid "Suppliers" @@ -3004,8 +3007,8 @@ msgstr "删除供应商商品" #: company/templates/company/manufacturer_part.html:165 #: company/templates/company/manufacturer_part.html:261 #: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32 -#: users/models.py:221 +#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 +#: templates/js/translated/helpers.js:32 users/models.py:221 msgid "Delete" msgstr "删除" @@ -3028,7 +3031,7 @@ msgid "Delete parameters" msgstr "删除参数" #: company/templates/company/manufacturer_part.html:198 -#: part/templates/part/detail.html:870 +#: part/templates/part/detail.html:853 msgid "Add Parameter" msgstr "添加参数" @@ -3057,8 +3060,8 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:627 -#: stock/templates/stock/item_base.html:390 +#: company/templates/company/supplier_part.html:24 stock/models.py:624 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:790 templates/js/translated/order.js:762 #: templates/js/translated/stock.js:1875 msgid "Supplier Part" @@ -3084,12 +3087,12 @@ msgid "Supplier Part Stock" msgstr "供货商商品库存" #: company/templates/company/supplier_part.html:147 -#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167 +#: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:148 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:380 msgid "New Stock Item" msgstr "" @@ -3143,11 +3146,11 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:18 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:150 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 @@ -3171,54 +3174,54 @@ msgstr "定价" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 #: part/templates/part/category_sidebar.html:17 -#: stock/templates/stock/location.html:138 -#: stock/templates/stock/location.html:152 -#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:161 +#: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:152 templates/js/translated/search.js:127 #: templates/js/translated/stock.js:2312 users/models.py:43 msgid "Stock Items" msgstr "库存项" -#: company/views.py:51 +#: company/views.py:47 msgid "New Supplier" msgstr "新增供应商" -#: company/views.py:57 +#: company/views.py:53 msgid "New Manufacturer" msgstr "新建制造商" -#: company/views.py:62 templates/InvenTree/search.html:208 +#: company/views.py:58 templates/InvenTree/search.html:208 #: templates/navbar.html:60 msgid "Customers" msgstr "客户信息" -#: company/views.py:63 +#: company/views.py:59 msgid "New Customer" msgstr "新建客户" -#: company/views.py:70 templates/js/translated/search.js:159 +#: company/views.py:66 templates/js/translated/search.js:159 msgid "Companies" msgstr "公司" -#: company/views.py:71 +#: company/views.py:67 msgid "New Company" msgstr "新建公司信息" -#: company/views.py:130 part/views.py:593 +#: company/views.py:126 part/views.py:590 msgid "Download Image" msgstr "下载图片" -#: company/views.py:159 part/views.py:625 +#: company/views.py:155 part/views.py:622 msgid "Image size exceeds maximum allowable size for download" msgstr "图像大小超过下载允许的最大尺寸" -#: company/views.py:166 part/views.py:632 +#: company/views.py:162 part/views.py:629 #, python-brace-format msgid "Invalid response: {code}" msgstr "无效响应: {code}" -#: company/views.py:175 part/views.py:641 +#: company/views.py:171 part/views.py:638 msgid "Supplied URL is not a valid image file" msgstr "提供的 URL 不是一个有效的图片文件" @@ -3226,486 +3229,486 @@ msgstr "提供的 URL 不是一个有效的图片文件" msgid "No valid objects provided to template" msgstr "没有为模板提供有效对象" -#: label/models.py:113 +#: label/models.py:110 msgid "Label name" msgstr "标签名称" -#: label/models.py:120 +#: label/models.py:117 msgid "Label description" msgstr "标签说明" -#: label/models.py:127 +#: label/models.py:124 msgid "Label" msgstr "标签" -#: label/models.py:128 +#: label/models.py:125 msgid "Label template file" msgstr "标签模板文件" -#: label/models.py:134 report/models.py:294 +#: label/models.py:131 report/models.py:291 msgid "Enabled" msgstr "已启用" -#: label/models.py:135 +#: label/models.py:132 msgid "Label template is enabled" msgstr "标签模板已启用" -#: label/models.py:140 +#: label/models.py:137 msgid "Width [mm]" msgstr "宽度 [mm]" -#: label/models.py:141 +#: label/models.py:138 msgid "Label width, specified in mm" msgstr "标注宽度,以毫米为单位。" -#: label/models.py:147 +#: label/models.py:144 msgid "Height [mm]" msgstr "高度 [mm]" -#: label/models.py:148 +#: label/models.py:145 msgid "Label height, specified in mm" msgstr "标注高度,以毫米为单位。" -#: label/models.py:154 report/models.py:287 +#: label/models.py:151 report/models.py:284 msgid "Filename Pattern" msgstr "文件名样式" -#: label/models.py:155 +#: label/models.py:152 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:258 +#: label/models.py:255 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:318 report/models.py:455 report/models.py:494 +#: label/models.py:256 label/models.py:316 label/models.py:363 +#: report/models.py:315 report/models.py:452 report/models.py:491 msgid "Filters" msgstr "筛选器" -#: label/models.py:318 +#: label/models.py:315 msgid "Query filters (comma-separated list of key=value pairs" msgstr "查询筛选器 (逗号分隔的键值对列表" -#: label/models.py:365 +#: label/models.py:362 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "商品查询筛选器 (逗号分隔的键值对列表)" -#: order/models.py:130 +#: order/models.py:132 msgid "Order description" msgstr "" -#: order/models.py:132 +#: order/models.py:134 msgid "Link to external page" msgstr "" -#: order/models.py:140 +#: order/models.py:142 msgid "Created By" msgstr "" -#: order/models.py:147 +#: order/models.py:149 msgid "User or group responsible for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:152 +#: order/models.py:154 msgid "Order notes" msgstr "" -#: order/models.py:238 order/models.py:590 +#: order/models.py:240 order/models.py:592 msgid "Order reference" msgstr "" -#: order/models.py:243 order/models.py:605 +#: order/models.py:245 order/models.py:607 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:255 msgid "Company from which the items are being ordered" msgstr "订购该商品的公司" -#: order/models.py:256 order/templates/order/order_base.html:124 +#: order/models.py:258 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1451 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:258 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:265 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:270 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:271 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:276 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:277 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:283 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:312 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:458 msgid "Quantity must be a positive number" msgstr "数量必须大于0" -#: order/models.py:601 +#: order/models.py:603 msgid "Company to which the items are being sold" msgstr "向其出售该商品的公司" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:609 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:614 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1155 +#: order/models.py:617 order/models.py:1157 #: templates/js/translated/order.js:2176 templates/js/translated/order.js:2327 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:624 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:690 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:694 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:697 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:700 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:863 +#: order/models.py:865 msgid "Item quantity" msgstr "" -#: order/models.py:869 +#: order/models.py:871 msgid "Line item reference" msgstr "" -#: order/models.py:871 +#: order/models.py:873 msgid "Line item notes" msgstr "" -#: order/models.py:876 +#: order/models.py:878 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:894 +#: order/models.py:896 msgid "Context" msgstr "" -#: order/models.py:895 +#: order/models.py:897 msgid "Additional context for this line" msgstr "" -#: order/models.py:903 +#: order/models.py:905 msgid "Unit price" msgstr "" -#: order/models.py:936 +#: order/models.py:938 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:943 +#: order/models.py:945 msgid "deleted" msgstr "" -#: order/models.py:949 order/models.py:1031 order/models.py:1053 -#: order/models.py:1149 order/models.py:1249 +#: order/models.py:951 order/models.py:1033 order/models.py:1055 +#: order/models.py:1151 order/models.py:1251 #: templates/js/translated/order.js:2718 msgid "Order" msgstr "" -#: order/models.py:950 order/models.py:1031 +#: order/models.py:952 order/models.py:1033 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 -#: stock/templates/stock/item_base.html:336 +#: stock/templates/stock/item_base.html:342 #: templates/js/translated/order.js:763 templates/js/translated/order.js:1420 #: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852 #: templates/js/translated/stock.js:2417 msgid "Purchase Order" msgstr "" -#: order/models.py:969 +#: order/models.py:971 msgid "Supplier part" msgstr "供应商商品" -#: order/models.py:976 order/templates/order/order_base.html:169 +#: order/models.py:978 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1196 templates/js/translated/order.js:1784 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:977 +#: order/models.py:979 msgid "Number of items received" msgstr "" -#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:757 -#: stock/serializers.py:170 stock/templates/stock/item_base.html:343 +#: order/models.py:986 part/templates/part/prices.html:179 stock/models.py:754 +#: stock/serializers.py:167 stock/templates/stock/item_base.html:349 #: templates/js/translated/stock.js:1906 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:985 +#: order/models.py:987 msgid "Unit purchase price" msgstr "" -#: order/models.py:993 +#: order/models.py:995 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1063 part/templates/part/part_pricing.html:112 +#: order/models.py:1065 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "销售价格" -#: order/models.py:1064 +#: order/models.py:1066 msgid "Unit sale price" msgstr "" -#: order/models.py:1069 +#: order/models.py:1071 msgid "Shipped quantity" msgstr "" -#: order/models.py:1156 +#: order/models.py:1158 msgid "Date of shipment" msgstr "" -#: order/models.py:1163 +#: order/models.py:1165 msgid "Checked By" msgstr "" -#: order/models.py:1164 +#: order/models.py:1166 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1172 +#: order/models.py:1174 msgid "Shipment number" msgstr "" -#: order/models.py:1179 +#: order/models.py:1181 msgid "Shipment notes" msgstr "" -#: order/models.py:1186 +#: order/models.py:1188 msgid "Tracking Number" msgstr "" -#: order/models.py:1187 +#: order/models.py:1189 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1197 +#: order/models.py:1199 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1200 +#: order/models.py:1202 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1293 order/models.py:1295 +#: order/models.py:1295 order/models.py:1297 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1299 +#: order/models.py:1301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1301 +#: order/models.py:1303 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1304 +#: order/models.py:1306 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1308 +#: order/models.py:1310 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1314 order/serializers.py:1005 +#: order/models.py:1316 order/serializers.py:1002 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1317 +#: order/models.py:1319 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1318 +#: order/models.py:1320 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1326 +#: order/models.py:1328 msgid "Line" msgstr "" -#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243 +#: order/models.py:1336 order/serializers.py:1112 order/serializers.py:1240 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1335 +#: order/models.py:1337 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1349 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1348 +#: order/models.py:1350 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1351 +#: order/models.py:1353 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:77 +#: order/serializers.py:74 msgid "Price currency" msgstr "" -#: order/serializers.py:206 +#: order/serializers.py:203 msgid "Order cannot be cancelled" msgstr "无法取消订单" -#: order/serializers.py:304 +#: order/serializers.py:301 msgid "Order is not open" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:325 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:342 +#: order/serializers.py:339 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:347 +#: order/serializers.py:344 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:353 +#: order/serializers.py:350 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:351 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1080 +#: order/serializers.py:411 order/serializers.py:1077 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:417 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:535 +#: order/serializers.py:427 order/serializers.py:532 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1054 +#: order/serializers.py:446 templates/js/translated/order.js:1054 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1065 +#: order/serializers.py:454 templates/js/translated/order.js:1065 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:470 +#: order/serializers.py:467 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:468 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:488 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:507 +#: order/serializers.py:504 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:544 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:561 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:572 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:850 +#: order/serializers.py:847 msgid "Sale price currency" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:917 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:970 order/serializers.py:1092 +#: order/serializers.py:967 order/serializers.py:1089 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:992 +#: order/serializers.py:989 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1105 +#: order/serializers.py:1102 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1129 order/serializers.py:1254 +#: order/serializers.py:1126 order/serializers.py:1251 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1129 order/serializers.py:1254 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1184 +#: order/serializers.py:1181 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1194 +#: order/serializers.py:1191 msgid "The following serial numbers are already allocated" msgstr "" @@ -3825,7 +3828,7 @@ msgstr "选择供应商商品" #: part/templates/part/import_wizard/ajax_match_fields.html:64 #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427 +#: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 #: templates/js/translated/order.js:711 templates/js/translated/order.js:1143 #: templates/js/translated/order.js:2386 templates/js/translated/stock.js:570 @@ -3943,7 +3946,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 msgid "Actions" msgstr "" @@ -3951,73 +3954,73 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:124 +#: order/views.py:121 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:397 +#: order/views.py:394 msgid "Sales order not found" msgstr "" -#: order/views.py:403 +#: order/views.py:400 msgid "Price not found" msgstr "" -#: order/views.py:406 +#: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:411 +#: order/views.py:408 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:509 +#: part/api.py:516 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:536 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:554 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:579 +#: part/api.py:586 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:659 +#: part/api.py:677 msgid "Valid" msgstr "" -#: part/api.py:660 +#: part/api.py:678 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:665 +#: part/api.py:683 msgid "This option must be selected" msgstr "" -#: part/api.py:1037 +#: part/api.py:1055 msgid "Must be greater than zero" msgstr "必须大于0" -#: part/api.py:1041 +#: part/api.py:1059 msgid "Must be a valid quantity" msgstr "必须是有效的数量" -#: part/api.py:1056 +#: part/api.py:1074 msgid "Specify location for initial part stock" msgstr "指定初始初始商品仓储地点" -#: part/api.py:1087 part/api.py:1091 part/api.py:1106 part/api.py:1110 +#: part/api.py:1105 part/api.py:1109 part/api.py:1124 part/api.py:1128 msgid "This field is required" msgstr "此字段为必填" -#: part/bom.py:125 part/models.py:114 part/models.py:889 +#: part/bom.py:125 part/models.py:112 part/models.py:887 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "默认仓储地点" @@ -4037,46 +4040,46 @@ msgstr "可用库存" msgid "On Order" msgstr "" -#: part/forms.py:84 +#: part/forms.py:81 msgid "Select part category" msgstr "选择类别" -#: part/forms.py:103 +#: part/forms.py:100 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:107 +#: part/forms.py:104 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:127 +#: part/forms.py:124 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:115 +#: part/models.py:113 msgid "Default location for parts in this category" msgstr "此类别商品的默认仓储地点" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords" msgstr "" -#: part/models.py:118 +#: part/models.py:116 msgid "Default keywords for parts in this category" msgstr "此类别商品的默认关键字" -#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15 +#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" -#: part/models.py:129 part/templates/part/category.html:128 +#: part/models.py:127 part/templates/part/category.html:128 #: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 #: users/models.py:40 msgid "Part Categories" msgstr "商品类别" -#: part/models.py:370 part/templates/part/cat_link.html:3 +#: part/models.py:368 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 @@ -4087,65 +4090,65 @@ msgstr "商品类别" msgid "Parts" msgstr "商品" -#: part/models.py:462 +#: part/models.py:460 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:537 part/models.py:549 +#: part/models.py:535 part/models.py:547 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:679 +#: part/models.py:677 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:683 +#: part/models.py:681 msgid "Next available serial number is" msgstr "" -#: part/models.py:688 +#: part/models.py:686 msgid "Most recent serial number is" msgstr "" -#: part/models.py:784 +#: part/models.py:782 msgid "Duplicate IPN not allowed in part settings" msgstr "在商品设置中不允许重复的IPN" -#: part/models.py:813 part/models.py:2692 +#: part/models.py:811 part/models.py:2690 msgid "Part name" msgstr "商品名称" -#: part/models.py:820 +#: part/models.py:818 msgid "Is Template" msgstr "" -#: part/models.py:821 +#: part/models.py:819 msgid "Is this part a template part?" msgstr "" -#: part/models.py:831 +#: part/models.py:829 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:832 +#: part/models.py:830 msgid "Variant Of" msgstr "" -#: part/models.py:838 +#: part/models.py:836 msgid "Part description" msgstr "商品描述" -#: part/models.py:843 part/templates/part/category.html:86 +#: part/models.py:841 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "关键词" -#: part/models.py:844 +#: part/models.py:842 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:851 part/models.py:2389 part/models.py:2638 +#: part/models.py:849 part/models.py:2387 part/models.py:2636 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4154,352 +4157,352 @@ msgstr "提高搜索结果可见性的关键字" msgid "Category" msgstr "类别" -#: part/models.py:852 +#: part/models.py:850 msgid "Part category" msgstr "商品类别" -#: part/models.py:857 part/templates/part/part_base.html:266 +#: part/models.py:855 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" -#: part/models.py:858 +#: part/models.py:856 msgid "Internal Part Number" msgstr "内部商品编号" -#: part/models.py:864 +#: part/models.py:862 msgid "Part revision or version number" msgstr "商品版本号" -#: part/models.py:865 part/templates/part/part_base.html:273 -#: report/models.py:196 templates/js/translated/part.js:670 +#: part/models.py:863 part/templates/part/part_base.html:273 +#: report/models.py:193 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:887 +#: part/models.py:885 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:934 part/templates/part/part_base.html:339 +#: part/models.py:932 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:935 +#: part/models.py:933 msgid "Default supplier part" msgstr "默认供应商商品" -#: part/models.py:942 +#: part/models.py:940 msgid "Default Expiry" msgstr "" -#: part/models.py:943 +#: part/models.py:941 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:948 part/templates/part/part_base.html:200 +#: part/models.py:946 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "最低库存" -#: part/models.py:949 +#: part/models.py:947 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:954 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:962 +#: part/models.py:960 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:968 +#: part/models.py:966 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:974 +#: part/models.py:972 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:979 +#: part/models.py:977 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:984 +#: part/models.py:982 msgid "Can this part be sold to customers?" msgstr "此商品可以销售给客户吗?" -#: part/models.py:989 +#: part/models.py:987 msgid "Is this part active?" msgstr "" -#: part/models.py:994 +#: part/models.py:992 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟商品,如软件产品或许可证吗?" -#: part/models.py:999 +#: part/models.py:997 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:1000 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1005 +#: part/models.py:1003 msgid "BOM checked by" msgstr "" -#: part/models.py:1007 +#: part/models.py:1005 msgid "BOM checked date" msgstr "" -#: part/models.py:1011 +#: part/models.py:1009 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1875 +#: part/models.py:1873 msgid "Sell multiple" msgstr "" -#: part/models.py:2439 +#: part/models.py:2437 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2456 +#: part/models.py:2454 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2476 templates/js/translated/part.js:1819 +#: part/models.py:2474 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2477 +#: part/models.py:2475 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2482 +#: part/models.py:2480 msgid "Test Description" msgstr "" -#: part/models.py:2483 +#: part/models.py:2481 msgid "Enter description for this test" msgstr "" -#: part/models.py:2488 templates/js/translated/part.js:1828 +#: part/models.py:2486 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2489 +#: part/models.py:2487 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2494 templates/js/translated/part.js:1836 +#: part/models.py:2492 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2495 +#: part/models.py:2493 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2500 templates/js/translated/part.js:1843 +#: part/models.py:2498 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2501 +#: part/models.py:2499 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2512 +#: part/models.py:2510 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2548 +#: part/models.py:2546 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2556 +#: part/models.py:2554 msgid "Parameter Name" msgstr "" -#: part/models.py:2563 +#: part/models.py:2561 msgid "Parameter Units" msgstr "" -#: part/models.py:2593 +#: part/models.py:2591 msgid "Parent Part" msgstr "" -#: part/models.py:2595 part/models.py:2644 part/models.py:2645 +#: part/models.py:2593 part/models.py:2642 part/models.py:2643 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Data" msgstr "" -#: part/models.py:2597 +#: part/models.py:2595 msgid "Parameter Value" msgstr "" -#: part/models.py:2649 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2647 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "默认值" -#: part/models.py:2650 +#: part/models.py:2648 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2684 +#: part/models.py:2682 msgid "Part ID or part name" msgstr "" -#: part/models.py:2687 templates/js/translated/model_renderers.js:200 +#: part/models.py:2685 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "商品ID" -#: part/models.py:2688 +#: part/models.py:2686 msgid "Unique part ID value" msgstr "" -#: part/models.py:2691 +#: part/models.py:2689 msgid "Part Name" msgstr "" -#: part/models.py:2695 +#: part/models.py:2693 msgid "Part IPN" msgstr "" -#: part/models.py:2696 +#: part/models.py:2694 msgid "Part IPN value" msgstr "" -#: part/models.py:2699 +#: part/models.py:2697 msgid "Level" msgstr "" -#: part/models.py:2700 +#: part/models.py:2698 msgid "BOM level" msgstr "" -#: part/models.py:2775 +#: part/models.py:2773 msgid "Select parent part" msgstr "" -#: part/models.py:2783 +#: part/models.py:2781 msgid "Sub part" msgstr "" -#: part/models.py:2784 +#: part/models.py:2782 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2790 +#: part/models.py:2788 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2792 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910 +#: part/models.py:2790 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "可选项" -#: part/models.py:2792 +#: part/models.py:2790 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2795 part/templates/part/upload_bom.html:55 +#: part/models.py:2793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2796 +#: part/models.py:2794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2799 +#: part/models.py:2797 msgid "BOM item reference" msgstr "" -#: part/models.py:2802 +#: part/models.py:2800 msgid "BOM item notes" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "Checksum" msgstr "" -#: part/models.py:2804 +#: part/models.py:2802 msgid "BOM line checksum" msgstr "" -#: part/models.py:2808 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:927 +#: part/models.py:2806 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1009 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "继承项" -#: part/models.py:2809 +#: part/models.py:2807 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2814 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:919 +#: part/models.py:2812 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1001 msgid "Allow Variants" msgstr "" -#: part/models.py:2815 +#: part/models.py:2813 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2900 stock/models.py:498 +#: part/models.py:2898 stock/models.py:495 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2909 part/models.py:2911 +#: part/models.py:2907 part/models.py:2909 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3023 +#: part/models.py:3021 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3045 +#: part/models.py:3043 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3057 +#: part/models.py:3055 msgid "Parent BOM item" msgstr "" -#: part/models.py:3065 +#: part/models.py:3063 msgid "Substitute part" msgstr "" -#: part/models.py:3076 +#: part/models.py:3074 msgid "Part 1" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Part 2" msgstr "" -#: part/models.py:3080 +#: part/models.py:3078 msgid "Select Related Part" msgstr "" -#: part/models.py:3112 +#: part/models.py:3110 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:180 +#: part/serializers.py:157 part/serializers.py:189 stock/serializers.py:177 msgid "Purchase currency of this stock item" msgstr "" @@ -4668,7 +4671,7 @@ msgstr "商品 (包括子类别)" msgid "Create new part" msgstr "新建商品" -#: part/templates/part/category.html:158 templates/js/translated/bom.js:365 +#: part/templates/part/category.html:158 templates/js/translated/bom.js:366 msgid "New Part" msgstr "新商品" @@ -4816,7 +4819,7 @@ msgstr "" msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:254 templates/js/translated/bom.js:283 +#: part/templates/part/detail.html:254 templates/js/translated/bom.js:284 msgid "Export BOM" msgstr "" @@ -4868,46 +4871,38 @@ msgstr "商品制造商" msgid "Delete manufacturer parts" msgstr "删除制造商商品" -#: part/templates/part/detail.html:595 -msgid "Delete selected BOM items?" -msgstr "" - -#: part/templates/part/detail.html:596 -msgid "All selected BOM items will be deleted" -msgstr "" - -#: part/templates/part/detail.html:645 +#: part/templates/part/detail.html:628 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:689 +#: part/templates/part/detail.html:672 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:697 +#: part/templates/part/detail.html:680 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:783 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:933 +#: part/templates/part/detail.html:916 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:945 +#: part/templates/part/detail.html:928 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:957 +#: part/templates/part/detail.html:940 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1046 +#: part/templates/part/detail.html:1029 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4969,20 +4964,20 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:35 -#: stock/templates/stock/location.html:34 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:43 msgid "Barcode actions" msgstr "" #: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:39 -#: stock/templates/stock/location.html:36 templates/qr_button.html:1 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:45 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: part/templates/part/part_base.html:49 -#: stock/templates/stock/item_base.html:57 -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/item_base.html:63 +#: stock/templates/stock/location.html:47 msgid "Print Label" msgstr "打印标签" @@ -4991,8 +4986,8 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:60 -#: stock/templates/stock/item_base.html:110 -#: stock/templates/stock/location.html:47 +#: stock/templates/stock/item_base.html:116 +#: stock/templates/stock/location.html:56 msgid "Stock actions" msgstr "" @@ -5080,7 +5075,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:948 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 msgid "Can Build" msgstr "" @@ -5099,7 +5094,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:320 -#: stock/templates/stock/item_base.html:166 +#: stock/templates/stock/item_base.html:172 msgid "Search for serial number" msgstr "" @@ -5138,7 +5133,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:902 +#: templates/js/translated/bom.js:984 msgid "No supplier pricing available" msgstr "" @@ -5257,7 +5252,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:896 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 msgid "Supplier Cost" msgstr "" @@ -5367,80 +5362,80 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:88 +#: part/views.py:85 msgid "Set Part Category" msgstr "设置商品类别" -#: part/views.py:138 +#: part/views.py:135 #, python-brace-format msgid "Set category for {n} parts" msgstr "为 {n} 个商品设置类别" -#: part/views.py:210 +#: part/views.py:207 msgid "Match References" msgstr "" -#: part/views.py:511 +#: part/views.py:508 msgid "None" msgstr "" -#: part/views.py:570 +#: part/views.py:567 msgid "Part QR Code" msgstr "商品二维码" -#: part/views.py:672 +#: part/views.py:669 msgid "Select Part Image" msgstr "选择商品图像" -#: part/views.py:698 +#: part/views.py:695 msgid "Updated part image" msgstr "更新商品图像" -#: part/views.py:701 +#: part/views.py:698 msgid "Part image not found" msgstr "未找到商品图像" -#: part/views.py:789 +#: part/views.py:786 msgid "Confirm Part Deletion" msgstr "确认删除商品" -#: part/views.py:796 +#: part/views.py:793 msgid "Part was deleted" msgstr "商品已删除" -#: part/views.py:805 +#: part/views.py:802 msgid "Part Pricing" msgstr "商品价格" -#: part/views.py:954 +#: part/views.py:951 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:964 +#: part/views.py:961 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:971 +#: part/views.py:968 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1013 +#: part/views.py:1010 msgid "Delete Part Category" msgstr "删除商品类别" -#: part/views.py:1019 +#: part/views.py:1016 msgid "Part category was deleted" msgstr "商品类别已删除" -#: part/views.py:1028 +#: part/views.py:1025 msgid "Create Category Parameter Template" msgstr "创建类别参数模板" -#: part/views.py:1129 +#: part/views.py:1126 msgid "Edit Category Parameter Template" msgstr "编辑类别参数模板" -#: part/views.py:1185 +#: part/views.py:1182 msgid "Delete Category Parameter Template" msgstr "删除类别参数模板" @@ -5518,35 +5513,43 @@ msgstr "" msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:29 +#: plugin/models.py:36 +msgid "Plugin Metadata" +msgstr "" + +#: plugin/models.py:37 +msgid "JSON metadata field, for use by external plugins" +msgstr "" + +#: plugin/models.py:86 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:87 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:92 msgid "Key" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:93 msgid "Key of plugin" msgstr "" -#: plugin/models.py:44 +#: plugin/models.py:101 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:50 +#: plugin/models.py:107 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:123 +#: plugin/models.py:180 msgid "Plugin" msgstr "" -#: plugin/models.py:197 +#: plugin/models.py:254 msgid "Method" msgstr "" @@ -5590,35 +5593,35 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:49 +#: plugin/serializers.py:74 msgid "Source URL" msgstr "" -#: plugin/serializers.py:50 +#: plugin/serializers.py:75 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:55 +#: plugin/serializers.py:80 msgid "Package Name" msgstr "" -#: plugin/serializers.py:56 +#: plugin/serializers.py:81 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:59 +#: plugin/serializers.py:84 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:60 +#: plugin/serializers.py:85 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:100 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:77 +#: plugin/serializers.py:102 msgid "Either packagename of URL must be provided" msgstr "" @@ -5627,87 +5630,87 @@ msgstr "" msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:178 +#: report/models.py:175 msgid "Template name" msgstr "" -#: report/models.py:184 +#: report/models.py:181 msgid "Report template file" msgstr "" -#: report/models.py:191 +#: report/models.py:188 msgid "Report template description" msgstr "" -#: report/models.py:197 +#: report/models.py:194 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:288 +#: report/models.py:285 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:295 +#: report/models.py:292 msgid "Report template is enabled" msgstr "" -#: report/models.py:319 +#: report/models.py:316 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:327 +#: report/models.py:324 msgid "Include Installed Tests" msgstr "" -#: report/models.py:328 +#: report/models.py:325 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:375 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:376 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:421 +#: report/models.py:418 msgid "Part Filters" msgstr "商品过滤器" -#: report/models.py:422 +#: report/models.py:419 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:456 +#: report/models.py:453 msgid "Purchase order query filters" msgstr "" -#: report/models.py:495 +#: report/models.py:492 msgid "Sales order query filters" msgstr "" -#: report/models.py:550 +#: report/models.py:547 msgid "Snippet" msgstr "" -#: report/models.py:551 +#: report/models.py:548 msgid "Report snippet file" msgstr "" -#: report/models.py:555 +#: report/models.py:552 msgid "Snippet file description" msgstr "" -#: report/models.py:590 +#: report/models.py:587 msgid "Asset" msgstr "" -#: report/models.py:591 +#: report/models.py:588 msgid "Report asset file" msgstr "" -#: report/models.py:594 +#: report/models.py:591 msgid "Asset file description" msgstr "" @@ -5724,7 +5727,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:667 stock/templates/stock/item_base.html:156 +#: stock/models.py:664 stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 #: templates/js/translated/model_renderers.js:106 @@ -5738,12 +5741,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2193 +#: stock/models.py:2190 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2199 +#: stock/models.py:2196 msgid "Result" msgstr "" @@ -5773,362 +5776,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:546 +#: stock/api.py:554 msgid "Quantity is required" msgstr "" -#: stock/api.py:553 +#: stock/api.py:561 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:578 +#: stock/api.py:586 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:94 stock/models.py:762 -#: stock/templates/stock/item_base.html:411 +#: stock/models.py:91 stock/models.py:759 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:95 stock/models.py:763 +#: stock/models.py:92 stock/models.py:760 msgid "Select Owner" msgstr "" -#: stock/models.py:471 +#: stock/models.py:468 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:515 +#: stock/models.py:512 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "商品类型 ('{pf}') 必须是 {pe}" -#: stock/models.py:525 stock/models.py:534 +#: stock/models.py:522 stock/models.py:531 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:526 +#: stock/models.py:523 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:548 +#: stock/models.py:545 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:554 +#: stock/models.py:551 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:568 +#: stock/models.py:565 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:611 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:620 +#: stock/models.py:617 msgid "Base part" msgstr "" -#: stock/models.py:628 +#: stock/models.py:625 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:634 stock/templates/stock/location.html:16 +#: stock/models.py:631 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "仓储地点" -#: stock/models.py:637 +#: stock/models.py:634 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:644 +#: stock/models.py:641 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:650 stock/templates/stock/item_base.html:282 +#: stock/models.py:647 stock/templates/stock/item_base.html:288 msgid "Installed In" msgstr "" -#: stock/models.py:653 +#: stock/models.py:650 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:669 +#: stock/models.py:666 msgid "Serial number for this item" msgstr "" -#: stock/models.py:683 +#: stock/models.py:680 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:688 +#: stock/models.py:685 msgid "Stock Quantity" msgstr "" -#: stock/models.py:697 +#: stock/models.py:694 msgid "Source Build" msgstr "" -#: stock/models.py:699 +#: stock/models.py:696 msgid "Build for this stock item" msgstr "" -#: stock/models.py:710 +#: stock/models.py:707 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:713 +#: stock/models.py:710 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:719 +#: stock/models.py:716 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:725 stock/templates/stock/item_base.html:193 +#: stock/models.py:722 stock/templates/stock/item_base.html:199 #: templates/js/translated/stock.js:1822 msgid "Expiry Date" msgstr "" -#: stock/models.py:726 +#: stock/models.py:723 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete on deplete" msgstr "" -#: stock/models.py:739 +#: stock/models.py:736 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:749 stock/templates/stock/item.html:137 +#: stock/models.py:746 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:758 +#: stock/models.py:755 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:790 +#: stock/models.py:787 msgid "Converted to part" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1307 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1313 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1322 +#: stock/models.py:1319 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1325 +#: stock/models.py:1322 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1328 +#: stock/models.py:1325 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1332 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1406 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1409 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1412 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1415 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1418 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1428 stock/serializers.py:874 +#: stock/models.py:1425 stock/serializers.py:871 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1429 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1433 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1437 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1612 +#: stock/models.py:1609 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2113 +#: stock/models.py:2110 msgid "Entry notes" msgstr "" -#: stock/models.py:2170 +#: stock/models.py:2167 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2176 +#: stock/models.py:2173 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2194 +#: stock/models.py:2191 msgid "Test name" msgstr "" -#: stock/models.py:2200 +#: stock/models.py:2197 msgid "Test result" msgstr "" -#: stock/models.py:2206 +#: stock/models.py:2203 msgid "Test output value" msgstr "" -#: stock/models.py:2213 +#: stock/models.py:2210 msgid "Test result attachment" msgstr "" -#: stock/models.py:2219 +#: stock/models.py:2216 msgid "Test notes" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:170 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:294 +#: stock/serializers.py:291 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:309 +#: stock/serializers.py:306 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:312 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072 +#: stock/serializers.py:323 stock/serializers.py:828 stock/serializers.py:1069 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:333 +#: stock/serializers.py:330 msgid "Optional note field" msgstr "" -#: stock/serializers.py:346 +#: stock/serializers.py:343 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:363 +#: stock/serializers.py:360 msgid "Serial numbers already exist" msgstr "序列号已存在" -#: stock/serializers.py:405 +#: stock/serializers.py:402 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:421 +#: stock/serializers.py:418 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:425 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:466 +#: stock/serializers.py:463 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:471 +#: stock/serializers.py:468 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:688 +#: stock/serializers.py:685 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:689 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:693 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:726 +#: stock/serializers.py:723 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:729 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:740 +#: stock/serializers.py:737 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:980 +#: stock/serializers.py:747 stock/serializers.py:977 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:835 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:843 +#: stock/serializers.py:840 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:844 +#: stock/serializers.py:841 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:846 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:850 +#: stock/serializers.py:847 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:860 +#: stock/serializers.py:857 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:939 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:970 +#: stock/serializers.py:967 msgid "Stock transaction notes" msgstr "" @@ -6153,7 +6156,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:60 +#: stock/templates/stock/item.html:95 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" @@ -6177,194 +6180,198 @@ msgstr "" msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item_base.html:42 +#: stock/templates/stock/item_base.html:34 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:48 #: templates/js/translated/barcode.js:383 #: templates/js/translated/barcode.js:388 msgid "Unlink Barcode" msgstr "" -#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/item_base.html:50 msgid "Link Barcode" msgstr "" -#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:54 +#: stock/templates/stock/item_base.html:60 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:70 +#: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:74 -#: stock/templates/stock/location.html:54 templates/stock_table.html:47 +#: stock/templates/stock/item_base.html:80 +#: stock/templates/stock/location.html:63 templates/stock_table.html:47 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:77 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:45 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:80 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:86 templates/stock_table.html:46 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:83 +#: stock/templates/stock/item_base.html:89 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:87 -#: stock/templates/stock/location.html:60 templates/stock_table.html:48 +#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/location.html:69 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:90 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:96 templates/stock_table.html:51 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:93 +#: stock/templates/stock/item_base.html:99 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:96 +#: stock/templates/stock/item_base.html:102 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:100 +#: stock/templates/stock/item_base.html:106 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:121 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:124 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:126 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:129 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:161 +#: stock/templates/stock/item_base.html:167 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:170 +#: stock/templates/stock/item_base.html:176 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:197 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/table_filters.js:261 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:205 #: templates/js/translated/table_filters.js:267 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:206 +#: stock/templates/stock/item_base.html:212 #: templates/js/translated/stock.js:1838 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:217 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:215 +#: stock/templates/stock/item_base.html:221 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:230 msgid "This stock item is in production and cannot be edited." msgstr "此库存项目正在生产中,无法编辑。" -#: stock/templates/stock/item_base.html:225 +#: stock/templates/stock/item_base.html:231 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:238 +#: stock/templates/stock/item_base.html:244 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:246 +#: stock/templates/stock/item_base.html:252 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:260 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:260 +#: stock/templates/stock/item_base.html:266 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:301 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:1710 msgid "No location set" msgstr "未设置仓储地点" -#: stock/templates/stock/item_base.html:308 +#: stock/templates/stock/item_base.html:314 msgid "Barcode Identifier" msgstr "" -#: stock/templates/stock/item_base.html:350 +#: stock/templates/stock/item_base.html:356 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:374 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:397 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:421 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:416 -#: stock/templates/stock/location.html:118 +#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/location.html:127 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:487 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -6385,54 +6392,58 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:40 +#: stock/templates/stock/location.html:33 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:49 msgid "Check-in Items" msgstr "" -#: stock/templates/stock/location.html:68 +#: stock/templates/stock/location.html:77 msgid "Location actions" msgstr "仓储地操作" -#: stock/templates/stock/location.html:70 +#: stock/templates/stock/location.html:79 msgid "Edit location" msgstr "编辑仓储地" -#: stock/templates/stock/location.html:72 +#: stock/templates/stock/location.html:81 msgid "Delete location" msgstr "删除仓储地" -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:90 msgid "Create new stock location" msgstr "新建仓储地点" -#: stock/templates/stock/location.html:82 +#: stock/templates/stock/location.html:91 msgid "New Location" msgstr "新建仓储地点" -#: stock/templates/stock/location.html:100 -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:109 +#: stock/templates/stock/location.html:115 msgid "Location Path" msgstr "" -#: stock/templates/stock/location.html:107 +#: stock/templates/stock/location.html:116 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:113 +#: stock/templates/stock/location.html:122 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:117 +#: stock/templates/stock/location.html:126 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "您不在此仓储地的所有者列表中,无法编辑此仓储地。" -#: stock/templates/stock/location.html:133 -#: stock/templates/stock/location.html:180 +#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:147 templates/InvenTree/search.html:164 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 #: templates/js/translated/search.js:145 users/models.py:42 msgid "Stock Locations" msgstr "仓储地点" @@ -6485,7 +6496,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 msgid "Convert Stock Item" msgstr "" @@ -6510,55 +6521,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:128 +#: stock/views.py:125 msgid "Stock Location QR code" msgstr "仓储地点二维码" -#: stock/views.py:147 +#: stock/views.py:144 msgid "Return to Stock" msgstr "" -#: stock/views.py:156 +#: stock/views.py:153 msgid "Specify a valid location" msgstr "指定一个有效仓储地点" -#: stock/views.py:167 +#: stock/views.py:164 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:178 +#: stock/views.py:175 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:195 +#: stock/views.py:192 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:196 +#: stock/views.py:193 msgid "Check the confirmation box" msgstr "选中确认框" -#: stock/views.py:211 +#: stock/views.py:208 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:267 +#: stock/views.py:264 msgid "Delete Stock Location" msgstr "删除仓储地点" -#: stock/views.py:280 +#: stock/views.py:277 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:291 +#: stock/views.py:288 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:298 +#: stock/views.py:295 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:307 +#: stock/views.py:304 msgid "Add Stock Tracking Entry" msgstr "" @@ -6827,7 +6838,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:39 -#: templates/js/translated/plugin.js:15 +#: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" @@ -7276,9 +7287,9 @@ msgid "InvenTree Version Information" msgstr "" #: templates/about.html:11 templates/about.html:105 -#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620 -#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589 -#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991 +#: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 +#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:591 +#: templates/js/translated/modals.js:685 templates/js/translated/modals.js:993 #: templates/js/translated/order.js:806 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7518,15 +7529,15 @@ msgstr "" msgid "Add Attachment" msgstr "添加附件" -#: templates/base.html:100 +#: templates/base.html:101 msgid "Server Restart Required" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:103 +#: templates/base.html:104 msgid "Contact your system administrator for further information" msgstr "" @@ -7548,13 +7559,13 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1370 +#: templates/js/translated/bom.js:1446 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804 +#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 #: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 @@ -7590,11 +7601,11 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1063 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1064 msgid "No response from the InvenTree server" msgstr "" @@ -7606,27 +7617,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1073 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072 +#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1074 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1078 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1079 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1083 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1084 msgid "The requested resource could not be located on the server" msgstr "" @@ -7638,11 +7649,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1088 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1089 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7711,7 +7722,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "Invalid server response" msgstr "" @@ -7780,178 +7791,182 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:75 +#: templates/js/translated/bom.js:76 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:249 +#: templates/js/translated/bom.js:250 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286 +#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:587 templates/js/translated/tables.js:53 msgid "Format" msgstr "" -#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:254 templates/js/translated/bom.js:288 #: templates/js/translated/order.js:588 msgid "Select file format" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:295 msgid "Cascading" msgstr "" -#: templates/js/translated/bom.js:295 +#: templates/js/translated/bom.js:296 msgid "Download cascading / multi-level BOM" msgstr "" -#: templates/js/translated/bom.js:300 +#: templates/js/translated/bom.js:301 msgid "Levels" msgstr "等级" -#: templates/js/translated/bom.js:301 +#: templates/js/translated/bom.js:302 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:308 msgid "Include Parameter Data" msgstr "包含参数数据" -#: templates/js/translated/bom.js:308 +#: templates/js/translated/bom.js:309 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:313 +#: templates/js/translated/bom.js:314 msgid "Include Stock Data" msgstr "包括库存数据" -#: templates/js/translated/bom.js:314 +#: templates/js/translated/bom.js:315 msgid "Include part stock data in exported BOM" msgstr "在导出 BOM 中包括库存数据" -#: templates/js/translated/bom.js:319 +#: templates/js/translated/bom.js:320 msgid "Include Manufacturer Data" msgstr "包括制造商数据" -#: templates/js/translated/bom.js:320 +#: templates/js/translated/bom.js:321 msgid "Include part manufacturer data in exported BOM" msgstr "在导出 BOM 中包含制造商数据" -#: templates/js/translated/bom.js:325 +#: templates/js/translated/bom.js:326 msgid "Include Supplier Data" msgstr "包含供应商数据" -#: templates/js/translated/bom.js:326 +#: templates/js/translated/bom.js:327 msgid "Include part supplier data in exported BOM" msgstr "在导出 BOM 中包含供应商数据" -#: templates/js/translated/bom.js:509 +#: templates/js/translated/bom.js:510 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:565 +#: templates/js/translated/bom.js:566 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:576 +#: templates/js/translated/bom.js:577 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:582 +#: templates/js/translated/bom.js:583 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:621 +#: templates/js/translated/bom.js:622 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:623 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:682 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:696 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:845 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:773 +#: templates/js/translated/bom.js:855 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:867 +#: templates/js/translated/bom.js:949 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:882 +#: templates/js/translated/bom.js:964 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:889 +#: templates/js/translated/bom.js:971 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/bom.js:1029 +#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1000 +#: templates/js/translated/bom.js:1082 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1002 +#: templates/js/translated/bom.js:1084 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1004 +#: templates/js/translated/bom.js:1086 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1006 templates/js/translated/bom.js:1173 +#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1008 templates/js/translated/bom.js:1156 +#: templates/js/translated/bom.js:1090 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1151 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1375 +#: templates/js/translated/bom.js:1451 msgid "Inherited from parent BOM" msgstr "" @@ -8366,61 +8381,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372 -#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 +#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:359 +#: templates/js/translated/forms.js:360 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:389 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:402 +#: templates/js/translated/forms.js:403 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:640 +#: templates/js/translated/forms.js:641 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:715 +#: templates/js/translated/forms.js:716 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1207 templates/modals.html:19 +#: templates/js/translated/forms.js:1208 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1633 +#: templates/js/translated/forms.js:1634 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1848 templates/search.html:29 +#: templates/js/translated/forms.js:1849 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2101 +#: templates/js/translated/forms.js:2102 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2566 +#: templates/js/translated/forms.js:2567 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2578 +#: templates/js/translated/forms.js:2579 msgid "Select Columns" msgstr "" @@ -8478,78 +8493,78 @@ msgstr "打印标签前必须选择商品" msgid "No labels found which match the selected part(s)" msgstr "没有找到与所选商品相匹配的标签" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:257 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:265 +#: templates/js/translated/label.js:261 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:300 msgid "stock items selected" msgstr "已选择库存项" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:328 +#: templates/js/translated/label.js:308 templates/js/translated/label.js:324 msgid "Select Label Template" msgstr "选择标签模板" -#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136 -#: templates/js/translated/modals.js:615 +#: templates/js/translated/modals.js:78 templates/js/translated/modals.js:138 +#: templates/js/translated/modals.js:617 msgid "Cancel" msgstr "取消" -#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135 -#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990 +#: templates/js/translated/modals.js:79 templates/js/translated/modals.js:137 +#: templates/js/translated/modals.js:684 templates/js/translated/modals.js:992 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:134 +#: templates/js/translated/modals.js:136 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:397 +#: templates/js/translated/modals.js:399 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:556 +#: templates/js/translated/modals.js:558 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:614 +#: templates/js/translated/modals.js:616 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:671 +#: templates/js/translated/modals.js:673 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:942 +#: templates/js/translated/modals.js:944 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:954 +#: templates/js/translated/modals.js:956 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1051 +#: templates/js/translated/modals.js:1053 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1066 +#: templates/js/translated/modals.js:1068 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1067 +#: templates/js/translated/modals.js:1069 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1090 +#: templates/js/translated/modals.js:1092 msgid "Error requesting form data" msgstr "" @@ -9223,7 +9238,7 @@ msgstr "" msgid "Single Price Difference" msgstr "" -#: templates/js/translated/plugin.js:22 +#: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" From 6e19187929fa19334c571f43be76528e9719792b Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 18 May 2022 02:01:25 +0200 Subject: [PATCH 101/134] add missing import --- InvenTree/InvenTree/tests.py | 1 + 1 file changed, 1 insertion(+) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index 08579b29a7..c569310049 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -1,4 +1,5 @@ import json +import os from unittest import mock From 9f0b00cc0eaace16a9ca609168c8aa94d102c7ca Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 18 May 2022 02:01:52 +0200 Subject: [PATCH 102/134] replace old function --- InvenTree/InvenTree/tests.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index c569310049..09bbe569ce 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -514,8 +514,7 @@ class TestSettings(TestCase): self.assertIn('InvenTree/InvenTree/config.yaml', config.get_config_file()) # with env set - with self.env: - self.env.set('INVENTREE_CONFIG_FILE', 'my_special_conf.yaml') + with mock.patch.dict(os.environ, {'INVENTREE_CONFIG_FILE': 'my_special_conf.yaml'}): self.assertIn('InvenTree/InvenTree/my_special_conf.yaml', config.get_config_file()) def test_helpers_plugin_file(self): @@ -523,8 +522,7 @@ class TestSettings(TestCase): self.assertIn('InvenTree/InvenTree/plugins.txt', config.get_plugin_file()) # with env set - with self.env: - self.env.set('INVENTREE_PLUGIN_FILE', 'my_special_plugins.txt') + with mock.patch.dict(os.environ, {'INVENTREE_PLUGIN_FILE': 'my_special_plugins.txt'}): self.assertIn('my_special_plugins.txt', config.get_plugin_file()) def test_helpers_setting(self): @@ -533,8 +531,7 @@ class TestSettings(TestCase): self.assertEqual(config.get_setting(TEST_ENV_NAME, None, '123!'), '123!') # with env set - with self.env: - self.env.set(TEST_ENV_NAME, '321') + with mock.patch.dict(os.environ, {'TEST_ENV_NAME': '321'}): self.assertEqual(config.get_setting(TEST_ENV_NAME, None), '321') From ca7fb691acc04a07d5b28aa4f7cec1a924a46953 Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 18 May 2022 02:02:14 +0200 Subject: [PATCH 103/134] make change patch simpler --- InvenTree/InvenTree/tests.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index 09bbe569ce..6e7b9c5444 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -476,18 +476,17 @@ class TestSettings(TestCase): self.assertEqual(user_count(), 1) # not enough set - envs = {} - envs['INVENTREE_ADMIN_USER'] = 'admin' - self.run_reload(envs) + self.run_reload({ + 'INVENTREE_ADMIN_USER': 'admin' + }) self.assertEqual(user_count(), 0) # enough set - envs = { + self.run_reload({ 'INVENTREE_ADMIN_USER': 'admin', # set username 'INVENTREE_ADMIN_EMAIL': 'info@example.com', # set email 'INVENTREE_ADMIN_PASSWORD': 'password123' # set password - } - self.run_reload(envs) + }) self.assertEqual(user_count(), 1) # make sure to clean up From a570dab5e5ada31529889abfd6b74113757e46dc Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 18 May 2022 02:04:15 +0200 Subject: [PATCH 104/134] generalise function to make new methods simpler --- InvenTree/InvenTree/tests.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index 6e7b9c5444..02c95192df 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -457,10 +457,14 @@ class TestSettings(TestCase): self.user = user.objects.create_superuser('testuser1', 'test1@testing.com', 'password1') self.client.login(username='testuser1', password='password1') + def in_env_context(self, envs={}): + """Patch the env to include the given dict""" + return mock.patch.dict(os.environ, envs) + def run_reload(self, envs): from plugin import registry - with mock.patch.dict(os.environ, envs): + with self.in_env_context(envs): settings.USER_ADDED = False registry.reload_plugins() @@ -513,7 +517,7 @@ class TestSettings(TestCase): self.assertIn('InvenTree/InvenTree/config.yaml', config.get_config_file()) # with env set - with mock.patch.dict(os.environ, {'INVENTREE_CONFIG_FILE': 'my_special_conf.yaml'}): + with self.in_env_context({'INVENTREE_CONFIG_FILE': 'my_special_conf.yaml'}): self.assertIn('InvenTree/InvenTree/my_special_conf.yaml', config.get_config_file()) def test_helpers_plugin_file(self): @@ -521,7 +525,7 @@ class TestSettings(TestCase): self.assertIn('InvenTree/InvenTree/plugins.txt', config.get_plugin_file()) # with env set - with mock.patch.dict(os.environ, {'INVENTREE_PLUGIN_FILE': 'my_special_plugins.txt'}): + with self.in_env_context({'INVENTREE_PLUGIN_FILE': 'my_special_plugins.txt'}): self.assertIn('my_special_plugins.txt', config.get_plugin_file()) def test_helpers_setting(self): @@ -530,7 +534,7 @@ class TestSettings(TestCase): self.assertEqual(config.get_setting(TEST_ENV_NAME, None, '123!'), '123!') # with env set - with mock.patch.dict(os.environ, {'TEST_ENV_NAME': '321'}): + with self.in_env_context({'TEST_ENV_NAME': '321'}): self.assertEqual(config.get_setting(TEST_ENV_NAME, None), '321') From 9b377608568df1fa9b81a47d33127c43d670f2cb Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 18 May 2022 02:06:00 +0200 Subject: [PATCH 105/134] fix assertations --- InvenTree/InvenTree/tests.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index 02c95192df..f56e9809d0 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -483,7 +483,7 @@ class TestSettings(TestCase): self.run_reload({ 'INVENTREE_ADMIN_USER': 'admin' }) - self.assertEqual(user_count(), 0) + self.assertEqual(user_count(), 1) # enough set self.run_reload({ @@ -491,7 +491,7 @@ class TestSettings(TestCase): 'INVENTREE_ADMIN_EMAIL': 'info@example.com', # set email 'INVENTREE_ADMIN_PASSWORD': 'password123' # set password }) - self.assertEqual(user_count(), 1) + self.assertEqual(user_count(), 2) # make sure to clean up settings.TESTING_ENV = False From 4ac7d9626c176493e5c8b4baec5a473609924e4d Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 18 May 2022 02:07:28 +0200 Subject: [PATCH 106/134] add missing test from merge back in --- InvenTree/InvenTree/tests.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index f56e9809d0..f053a7c27b 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -493,6 +493,17 @@ class TestSettings(TestCase): }) self.assertEqual(user_count(), 2) + # create user manually + self.user_mdl.objects.create_user('testuser', 'test@testing.com', 'password') + self.assertEqual(user_count(), 3) + # check it will not be created again + self.run_reload({ + 'INVENTREE_ADMIN_USER': 'testuser', + 'INVENTREE_ADMIN_EMAIL': 'test@testing.com', + 'INVENTREE_ADMIN_PASSWORD': 'password', + }) + self.assertEqual(user_count(), 3) + # make sure to clean up settings.TESTING_ENV = False From bdf28b72df19fa7b7fa1ddc94977b8438aaf12d7 Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 18 May 2022 02:25:44 +0200 Subject: [PATCH 107/134] fix default --- InvenTree/InvenTree/tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index f053a7c27b..bad14f8e00 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -461,7 +461,7 @@ class TestSettings(TestCase): """Patch the env to include the given dict""" return mock.patch.dict(os.environ, envs) - def run_reload(self, envs): + def run_reload(self, envs={}): from plugin import registry with self.in_env_context(envs): From 9a0189b6bbfb2a8feda0191a05b0d4da77c71319 Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 18 May 2022 02:30:07 +0200 Subject: [PATCH 108/134] fix env name --- InvenTree/InvenTree/tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index bad14f8e00..1573a4387a 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -545,7 +545,7 @@ class TestSettings(TestCase): self.assertEqual(config.get_setting(TEST_ENV_NAME, None, '123!'), '123!') # with env set - with self.in_env_context({'TEST_ENV_NAME': '321'}): + with self.in_env_context({TEST_ENV_NAME: '321'}): self.assertEqual(config.get_setting(TEST_ENV_NAME, None), '321') From c4208782c5ef8171ae102e4254e77f08df41a7cf Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Wed, 18 May 2022 02:31:04 +0200 Subject: [PATCH 109/134] Update docker_test.yaml --- .github/workflows/docker_test.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/docker_test.yaml b/.github/workflows/docker_test.yaml index 69fbb48fe7..9b38743ab7 100644 --- a/.github/workflows/docker_test.yaml +++ b/.github/workflows/docker_test.yaml @@ -13,6 +13,7 @@ on: branches: - 'master' - 'stable' + - 'webp-support' pull_request: branches-ignore: From 21750c92d399af82aa738d639ea7c48939a32dc7 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Wed, 18 May 2022 02:33:09 +0200 Subject: [PATCH 110/134] remove branch from test --- .github/workflows/docker_test.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/docker_test.yaml b/.github/workflows/docker_test.yaml index 9b38743ab7..69fbb48fe7 100644 --- a/.github/workflows/docker_test.yaml +++ b/.github/workflows/docker_test.yaml @@ -13,7 +13,6 @@ on: branches: - 'master' - 'stable' - - 'webp-support' pull_request: branches-ignore: From 3b53260d751e0ca239e4daa02eefaea167c82c33 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 18 May 2022 11:51:14 +1000 Subject: [PATCH 111/134] Allow some variation in unit test --- InvenTree/InvenTree/tests.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index 1573a4387a..9ddde26418 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -533,7 +533,13 @@ class TestSettings(TestCase): def test_helpers_plugin_file(self): # normal run - not configured - self.assertIn('InvenTree/InvenTree/plugins.txt', config.get_plugin_file()) + + valid = [ + 'inventree/plugins.txt', + 'inventree/dev/plugins.txt', + ] + + self.assertIn(config.get_plugin_file().lower(), valid) # with env set with self.in_env_context({'INVENTREE_PLUGIN_FILE': 'my_special_plugins.txt'}): From e57087de638ccf26851a229946c3727616c4a017 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 18 May 2022 12:19:10 +1000 Subject: [PATCH 112/134] Fix unit test --- InvenTree/InvenTree/tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index 9ddde26418..f5f302b917 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -539,7 +539,7 @@ class TestSettings(TestCase): 'inventree/dev/plugins.txt', ] - self.assertIn(config.get_plugin_file().lower(), valid) + self.assertTrue(any([opt in config.get_plugin_file().lower() for opt in valid])) # with env set with self.in_env_context({'INVENTREE_PLUGIN_FILE': 'my_special_plugins.txt'}): From 0f1dd3fe65043a6715ea804a7115e6091ffca4b2 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 18 May 2022 13:02:23 +1000 Subject: [PATCH 113/134] Same fix for config file test --- InvenTree/InvenTree/tests.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index f5f302b917..5bb6a4aae2 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -525,7 +525,13 @@ class TestSettings(TestCase): def test_helpers_cfg_file(self): # normal run - not configured - self.assertIn('InvenTree/InvenTree/config.yaml', config.get_config_file()) + + valid = [ + 'inventree/config.yaml', + 'inventree/dev/config.yaml', + ] + + self.assertTrue(any([opt in config.get_config_file().lower() for opt in valid])) # with env set with self.in_env_context({'INVENTREE_CONFIG_FILE': 'my_special_conf.yaml'}): From 810671f42383b9860e085bf2811426244d0f3214 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 18 May 2022 13:40:57 +1000 Subject: [PATCH 114/134] Yet another fix --- InvenTree/InvenTree/tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index 5bb6a4aae2..501eed0834 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -535,7 +535,7 @@ class TestSettings(TestCase): # with env set with self.in_env_context({'INVENTREE_CONFIG_FILE': 'my_special_conf.yaml'}): - self.assertIn('InvenTree/InvenTree/my_special_conf.yaml', config.get_config_file()) + self.assertIn('inventree/inventree/my_special_conf.yaml', config.get_config_file().lower()) def test_helpers_plugin_file(self): # normal run - not configured From f53c8865ad742d7f2b64a2edc35632426c099cbb Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 18 May 2022 14:14:40 +1000 Subject: [PATCH 115/134] Only run docker build on push --- .github/workflows/docker_test.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/docker_test.yaml b/.github/workflows/docker_test.yaml index 69fbb48fe7..b4bb37715d 100644 --- a/.github/workflows/docker_test.yaml +++ b/.github/workflows/docker_test.yaml @@ -14,10 +14,6 @@ on: - 'master' - 'stable' - pull_request: - branches-ignore: - - l10* - jobs: docker: From ea3133be1d4da530941231e8aed5ba25e5a69ccb Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 18 May 2022 15:11:37 +1000 Subject: [PATCH 116/134] Combine docker-build and docker-test CI steps - We are building anyway, may as well test --- .github/workflows/docker_latest.yaml | 14 ++++++++++ .github/workflows/docker_test.yaml | 38 ---------------------------- 2 files changed, 14 insertions(+), 38 deletions(-) delete mode 100644 .github/workflows/docker_test.yaml diff --git a/.github/workflows/docker_latest.yaml b/.github/workflows/docker_latest.yaml index 6b248fe0b9..9942407c07 100644 --- a/.github/workflows/docker_latest.yaml +++ b/.github/workflows/docker_latest.yaml @@ -18,6 +18,20 @@ jobs: - name: Check version number run: | python3 ci/check_version_number.py --dev + - name: Build Docker Image + run: | + cd docker + docker-compose build + docker-compose run inventree-dev-server invoke update + docker-compose up -d + - name: Wait for Server + run: | + cd docker + docker-compose run inventree-dev-server invoke wait + - name: Run unit tests + run: | + cd docker + docker-compose run inventree-dev-server invoke test - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx diff --git a/.github/workflows/docker_test.yaml b/.github/workflows/docker_test.yaml deleted file mode 100644 index b4bb37715d..0000000000 --- a/.github/workflows/docker_test.yaml +++ /dev/null @@ -1,38 +0,0 @@ -# Test that the InvenTree docker image compiles correctly - -# This CI action runs on pushes to either the master or stable branches - -# 1. Build the development docker image (as per the documentation) -# 2. Launch the development server, and update the installation -# 3. Run unit tests within the docker context - -name: Docker Test - -on: - push: - branches: - - 'master' - - 'stable' - -jobs: - - docker: - runs-on: ubuntu-latest - - steps: - - name: Checkout Code - uses: actions/checkout@v2 - - name: Build Docker Image - run: | - cd docker - docker-compose build - docker-compose run inventree-dev-server invoke update - docker-compose up -d - - name: Wait for Server - run: | - cd docker - docker-compose run inventree-dev-server invoke wait - - name: Run unit tests - run: | - cd docker - docker-compose run inventree-dev-server invoke test From 3e05c5fde1a2fe52e5aa82d64a7477c4d392d5f6 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 18 May 2022 15:12:19 +1000 Subject: [PATCH 117/134] Bring docker containers down --- .github/workflows/docker_latest.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/docker_latest.yaml b/.github/workflows/docker_latest.yaml index 9942407c07..9324c39b54 100644 --- a/.github/workflows/docker_latest.yaml +++ b/.github/workflows/docker_latest.yaml @@ -32,6 +32,10 @@ jobs: run: | cd docker docker-compose run inventree-dev-server invoke test + - name: Down again + run: | + cd docker + docker-compose down - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx From 2fde482eab5463803773625e1c06ed1034f6cc16 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 18 May 2022 15:39:58 +1000 Subject: [PATCH 118/134] Simplify steps --- .github/workflows/docker_latest.yaml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/workflows/docker_latest.yaml b/.github/workflows/docker_latest.yaml index 9324c39b54..74b5eb966c 100644 --- a/.github/workflows/docker_latest.yaml +++ b/.github/workflows/docker_latest.yaml @@ -23,18 +23,12 @@ jobs: cd docker docker-compose build docker-compose run inventree-dev-server invoke update - docker-compose up -d - - name: Wait for Server - run: | - cd docker - docker-compose run inventree-dev-server invoke wait - name: Run unit tests run: | cd docker + docker-compose up -d + docker-compose run inventree-dev-server invoke wait docker-compose run inventree-dev-server invoke test - - name: Down again - run: | - cd docker docker-compose down - name: Set up QEMU uses: docker/setup-qemu-action@v1 From 6147afe35ff6c700e787e1032114db819cc2fb11 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 18 May 2022 16:54:57 +1000 Subject: [PATCH 119/134] Catch errors when rendering custom plugin panels --- InvenTree/plugin/views.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/InvenTree/plugin/views.py b/InvenTree/plugin/views.py index ee855094cc..d03c28bf90 100644 --- a/InvenTree/plugin/views.py +++ b/InvenTree/plugin/views.py @@ -1,5 +1,10 @@ +import sys +import traceback from django.conf import settings +from django.views.debug import ExceptionReporter + +from error_report.models import Error from plugin.registry import registry @@ -21,7 +26,21 @@ class InvenTreePluginViewMixin: panels = [] for plug in registry.with_mixin('panel'): - panels += plug.render_panels(self, self.request, ctx) + + try: + panels += plug.render_panels(self, self.request, ctx) + except Exception as exc: + # Prevent any plugin error from crashing the page render + kind, info, data = sys.exc_info() + + # Log the error to the database + Error.objects.create( + kind=kind.__name__, + info=info, + data='\n'.join(traceback.format_exception(kind, info, data)), + path=self.request.path, + html=ExceptionReporter(self.request, kind, info, data).get_traceback_html(), + ) return panels From 4ceb35a43f063ccccfe30ef4b1a934a32f7e9c49 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 18 May 2022 17:00:20 +1000 Subject: [PATCH 120/134] Fix PEP issue --- InvenTree/plugin/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/plugin/views.py b/InvenTree/plugin/views.py index d03c28bf90..8d28872695 100644 --- a/InvenTree/plugin/views.py +++ b/InvenTree/plugin/views.py @@ -29,7 +29,7 @@ class InvenTreePluginViewMixin: try: panels += plug.render_panels(self, self.request, ctx) - except Exception as exc: + except Exception: # Prevent any plugin error from crashing the page render kind, info, data = sys.exc_info() From 67c675d1a6d66f6f908d3b19cd26f6ef10d38f7e Mon Sep 17 00:00:00 2001 From: Jakob Haufe Date: Wed, 18 May 2022 13:24:50 +0200 Subject: [PATCH 121/134] Add ManufacturerPartAttachment class --- InvenTree/company/models.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/InvenTree/company/models.py b/InvenTree/company/models.py index 40afa6db6d..e33580abff 100644 --- a/InvenTree/company/models.py +++ b/InvenTree/company/models.py @@ -22,6 +22,7 @@ from stdimage.models import StdImageField from InvenTree.helpers import getMediaUrl, getBlankImage, getBlankThumbnail from InvenTree.fields import InvenTreeURLField +from InvenTree.models import InvenTreeAttachment from InvenTree.status_codes import PurchaseOrderStatus import InvenTree.validators @@ -380,6 +381,22 @@ class ManufacturerPart(models.Model): return s +class ManufacturerPartAttachment(InvenTreeAttachment): + """ + Model for storing file attachments against a ManufacturerPart object + """ + + @staticmethod + def get_api_url(): + return reverse('api-manufacturer-part-attachment-list') + + def getSubdir(self): + return os.path.join("manufacturer_part_files", str(self.manufacturer_part.id)) + + manufacturer_part = models.ForeignKey(ManufacturerPart, on_delete=models.CASCADE, + verbose_name=_('Manufacturer Part'), related_name='attachments') + + class ManufacturerPartParameter(models.Model): """ A ManufacturerPartParameter represents a key:value parameter for a MnaufacturerPart. From c608778a1b2469f15a9d5183e73fdc549435e66b Mon Sep 17 00:00:00 2001 From: Jakob Haufe Date: Sun, 1 May 2022 13:01:45 +0000 Subject: [PATCH 122/134] Add migration --- .../0043_manufacturerpartattachment.py | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 InvenTree/company/migrations/0043_manufacturerpartattachment.py diff --git a/InvenTree/company/migrations/0043_manufacturerpartattachment.py b/InvenTree/company/migrations/0043_manufacturerpartattachment.py new file mode 100644 index 0000000000..fe526992b0 --- /dev/null +++ b/InvenTree/company/migrations/0043_manufacturerpartattachment.py @@ -0,0 +1,33 @@ +# Generated by Django 3.2.13 on 2022-05-01 12:57 + +import InvenTree.fields +import InvenTree.models +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('company', '0042_supplierpricebreak_updated'), + ] + + operations = [ + migrations.CreateModel( + name='ManufacturerPartAttachment', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('attachment', models.FileField(blank=True, help_text='Select file to attach', null=True, upload_to=InvenTree.models.rename_attachment, verbose_name='Attachment')), + ('link', InvenTree.fields.InvenTreeURLField(blank=True, help_text='Link to external URL', null=True, verbose_name='Link')), + ('comment', models.CharField(blank=True, help_text='File comment', max_length=100, verbose_name='Comment')), + ('upload_date', models.DateField(auto_now_add=True, null=True, verbose_name='upload date')), + ('manufacturer_part', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='attachments', to='company.manufacturerpart', verbose_name='Manufacturer Part')), + ('user', models.ForeignKey(blank=True, help_text='User', null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='User')), + ], + options={ + 'abstract': False, + }, + ), + ] From a373e669cd417c4c2e17746f1fec9597402c2c52 Mon Sep 17 00:00:00 2001 From: Jakob Haufe Date: Sun, 1 May 2022 13:14:50 +0000 Subject: [PATCH 123/134] Add permission --- InvenTree/users/models.py | 1 + 1 file changed, 1 insertion(+) diff --git a/InvenTree/users/models.py b/InvenTree/users/models.py index 7ed689f4a9..3c33614b97 100644 --- a/InvenTree/users/models.py +++ b/InvenTree/users/models.py @@ -101,6 +101,7 @@ class RuleSet(models.Model): 'company_supplierpart', 'company_manufacturerpart', 'company_manufacturerpartparameter', + 'company_manufacturerpartattachment', 'label_partlabel', ], 'stock_location': [ From 3ee32374b48b1ebef25f185d74d557a4239efe5a Mon Sep 17 00:00:00 2001 From: Jakob Haufe Date: Sun, 1 May 2022 13:15:37 +0000 Subject: [PATCH 124/134] Add serializer --- InvenTree/company/serializers.py | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/InvenTree/company/serializers.py b/InvenTree/company/serializers.py index 236dcc15db..54eeb2c191 100644 --- a/InvenTree/company/serializers.py +++ b/InvenTree/company/serializers.py @@ -8,6 +8,7 @@ from rest_framework import serializers from sql_util.utils import SubqueryCount +from InvenTree.serializers import InvenTreeAttachmentSerializer from InvenTree.serializers import InvenTreeDecimalField from InvenTree.serializers import InvenTreeImageSerializerField from InvenTree.serializers import InvenTreeModelSerializer @@ -16,7 +17,7 @@ from InvenTree.serializers import InvenTreeMoneySerializer from part.serializers import PartBriefSerializer from .models import Company -from .models import ManufacturerPart, ManufacturerPartParameter +from .models import ManufacturerPart, ManufacturerPartAttachment, ManufacturerPartParameter from .models import SupplierPart, SupplierPriceBreak from common.settings import currency_code_default, currency_code_mappings @@ -142,6 +143,29 @@ class ManufacturerPartSerializer(InvenTreeModelSerializer): ] +class ManufacturerPartAttachmentSerializer(InvenTreeAttachmentSerializer): + """ + Serializer for the ManufacturerPartAttachment class + """ + + class Meta: + model = ManufacturerPartAttachment + + fields = [ + 'pk', + 'manufacturer_part', + 'attachment', + 'filename', + 'link', + 'comment', + 'upload_date', + ] + + read_only_fields = [ + 'upload_date', + ] + + class ManufacturerPartParameterSerializer(InvenTreeModelSerializer): """ Serializer for the ManufacturerPartParameter model From 69ba271bf7ae4b78d01e663adaf495808cc14174 Mon Sep 17 00:00:00 2001 From: Jakob Haufe Date: Sun, 1 May 2022 13:51:09 +0000 Subject: [PATCH 125/134] Add API endpoints --- InvenTree/company/api.py | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/InvenTree/company/api.py b/InvenTree/company/api.py index 146a45f648..c171bf7448 100644 --- a/InvenTree/company/api.py +++ b/InvenTree/company/api.py @@ -12,13 +12,14 @@ from django.urls import include, re_path from django.db.models import Q from InvenTree.helpers import str2bool +from InvenTree.api import AttachmentMixin from .models import Company -from .models import ManufacturerPart, ManufacturerPartParameter +from .models import ManufacturerPart, ManufacturerPartAttachment, ManufacturerPartParameter from .models import SupplierPart, SupplierPriceBreak from .serializers import CompanySerializer -from .serializers import ManufacturerPartSerializer, ManufacturerPartParameterSerializer +from .serializers import ManufacturerPartSerializer, ManufacturerPartAttachmentSerializer, ManufacturerPartParameterSerializer from .serializers import SupplierPartSerializer, SupplierPriceBreakSerializer @@ -160,6 +161,32 @@ class ManufacturerPartDetail(generics.RetrieveUpdateDestroyAPIView): serializer_class = ManufacturerPartSerializer +class ManufacturerPartAttachmentList(AttachmentMixin, generics.ListCreateAPIView): + """ + API endpoint for listing (and creating) a ManufacturerPartAttachment (file upload). + """ + + queryset = ManufacturerPartAttachment.objects.all() + serializer_class = ManufacturerPartAttachmentSerializer + + filter_backends = [ + DjangoFilterBackend, + ] + + filter_fields = [ + 'manufacturer_part', + ] + + +class ManufacturerPartAttachmentDetail(AttachmentMixin, generics.RetrieveUpdateDestroyAPIView): + """ + Detail endpooint for ManufacturerPartAttachment model + """ + + queryset = ManufacturerPartAttachment.objects.all() + serializer_class = ManufacturerPartAttachmentSerializer + + class ManufacturerPartParameterList(generics.ListCreateAPIView): """ API endpoint for list view of ManufacturerPartParamater model. From 09a76277888aef563b52a2d26a6c25617515f527 Mon Sep 17 00:00:00 2001 From: Jakob Haufe Date: Sun, 1 May 2022 13:57:02 +0000 Subject: [PATCH 126/134] Add API URLs --- InvenTree/company/api.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/InvenTree/company/api.py b/InvenTree/company/api.py index c171bf7448..22c5c4b207 100644 --- a/InvenTree/company/api.py +++ b/InvenTree/company/api.py @@ -414,6 +414,12 @@ class SupplierPriceBreakDetail(generics.RetrieveUpdateDestroyAPIView): manufacturer_part_api_urls = [ + # Base URL for ManufacturerPartAttachment API endpoints + re_path(r'^attachment/', include([ + re_path(r'^(?P\d+)/', ManufacturerPartAttachmentDetail.as_view(), name='api-manufacturer-part-attachment-detail'), + re_path(r'^$', ManufacturerPartAttachmentList.as_view(), name='api-manufacturer-part-attachment-list'), + ])), + re_path(r'^parameter/', include([ re_path(r'^(?P\d+)/', ManufacturerPartParameterDetail.as_view(), name='api-manufacturer-part-parameter-detail'), From fc3e61df24290530b6a1cee67a1148d3573c883d Mon Sep 17 00:00:00 2001 From: Jakob Haufe Date: Sun, 1 May 2022 14:03:19 +0000 Subject: [PATCH 127/134] Add sidebar item --- .../company/templates/company/manufacturer_part_sidebar.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/InvenTree/company/templates/company/manufacturer_part_sidebar.html b/InvenTree/company/templates/company/manufacturer_part_sidebar.html index bd613f76aa..04f3a39a5b 100644 --- a/InvenTree/company/templates/company/manufacturer_part_sidebar.html +++ b/InvenTree/company/templates/company/manufacturer_part_sidebar.html @@ -4,5 +4,7 @@ {% trans "Parameters" as text %} {% include "sidebar_item.html" with label='parameters' text=text icon="fa-th-list" %} +{% trans "Attachments" as text %} +{% include "sidebar_item.html" with label='attachments' text=text icon="fa-paperclip" %} {% trans "Supplier Parts" as text %} {% include "sidebar_item.html" with label='supplier-parts' text=text icon="fa-building" %} \ No newline at end of file From c6d3cd9bae5070f289eff971376094b89fb0cde4 Mon Sep 17 00:00:00 2001 From: Jakob Haufe Date: Sun, 1 May 2022 14:12:00 +0000 Subject: [PATCH 128/134] Add content panel --- .../templates/company/manufacturer_part.html | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/InvenTree/company/templates/company/manufacturer_part.html b/InvenTree/company/templates/company/manufacturer_part.html index 5a0e741c1a..ae4690f1c6 100644 --- a/InvenTree/company/templates/company/manufacturer_part.html +++ b/InvenTree/company/templates/company/manufacturer_part.html @@ -144,6 +144,21 @@ src="{% static 'img/blank_image.png' %}" +
+
+
+

{% trans "Attachments" %}

+ {% include "spacer.html" %} +
+ {% include "attachment_button.html" %} +
+
+
+
+ {% include "attachment_table.html" %} +
+
+
From 72f330ab7553ea43769312ad7bf7a52e95a34b13 Mon Sep 17 00:00:00 2001 From: Jakob Haufe Date: Sun, 1 May 2022 14:33:44 +0000 Subject: [PATCH 129/134] Add JS --- .../templates/company/manufacturer_part.html | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/InvenTree/company/templates/company/manufacturer_part.html b/InvenTree/company/templates/company/manufacturer_part.html index ae4690f1c6..a51ea45099 100644 --- a/InvenTree/company/templates/company/manufacturer_part.html +++ b/InvenTree/company/templates/company/manufacturer_part.html @@ -193,6 +193,34 @@ src="{% static 'img/blank_image.png' %}" {% block js_ready %} {{ block.super }} +onPanelLoad("attachments", function() { + loadAttachmentTable('{% url "api-manufacturer-part-attachment-list" %}', { + filters: { + manufacturer_part: {{ part.pk }}, + }, + fields: { + manufacturer_part: { + value: {{ part.pk }}, + hidden: true + } + } + }); + + enableDragAndDrop( + '#attachment-dropzone', + '{% url "api-manufacturer-part-attachment-list" %}', + { + data: { + manufacturer_part: {{ part.id }}, + }, + label: 'attachment', + success: function(data, status, xhr) { + reloadAttachmentTable(); + } + } + ); +}); + function reloadParameters() { $("#parameter-table").bootstrapTable("refresh"); } From ed1cc1209e8c47f3dadb31d5381babf6e3117eab Mon Sep 17 00:00:00 2001 From: Jakob Haufe Date: Sun, 1 May 2022 17:48:55 +0000 Subject: [PATCH 130/134] Add admin class --- InvenTree/company/admin.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/InvenTree/company/admin.py b/InvenTree/company/admin.py index cc672f9ee5..ce5f5945b6 100644 --- a/InvenTree/company/admin.py +++ b/InvenTree/company/admin.py @@ -8,7 +8,7 @@ import import_export.widgets as widgets from .models import Company from .models import SupplierPart from .models import SupplierPriceBreak -from .models import ManufacturerPart, ManufacturerPartParameter +from .models import ManufacturerPart, ManufacturerPartAttachment, ManufacturerPartParameter from part.models import Part @@ -109,6 +109,16 @@ class ManufacturerPartAdmin(ImportExportModelAdmin): autocomplete_fields = ('part', 'manufacturer',) +class ManufacturerPartAttachmentAdmin(ImportExportModelAdmin): + """ + Admin class for ManufacturerPartAttachment model + """ + + list_display = ('manufacturer_part', 'attachment', 'comment') + + autocomplete_fields = ('manufacturer_part',) + + class ManufacturerPartParameterResource(ModelResource): """ Class for managing ManufacturerPartParameter data import/export @@ -175,4 +185,5 @@ admin.site.register(SupplierPart, SupplierPartAdmin) admin.site.register(SupplierPriceBreak, SupplierPriceBreakAdmin) admin.site.register(ManufacturerPart, ManufacturerPartAdmin) +admin.site.register(ManufacturerPartAttachment, ManufacturerPartAttachmentAdmin) admin.site.register(ManufacturerPartParameter, ManufacturerPartParameterAdmin) From 3f67682d53e4f0235acc1054aa67c1b9ca78dd56 Mon Sep 17 00:00:00 2001 From: Jakob Haufe Date: Wed, 18 May 2022 13:22:57 +0200 Subject: [PATCH 131/134] Increment API version --- InvenTree/InvenTree/api_version.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index d2eab15468..e44aedf10b 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -4,11 +4,14 @@ InvenTree API version information # InvenTree API version -INVENTREE_API_VERSION = 49 +INVENTREE_API_VERSION = 50 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v50 -> 2022-05-18 : https://github.com/inventree/InvenTree/pull/2912 + - Implement Attachments for manufacturer parts + v49 -> 2022-05-09 : https://github.com/inventree/InvenTree/pull/2957 - Allows filtering of plugin list by 'active' status - Allows filtering of plugin list by 'mixin' support From 0e0ba66b9a2c87a85c889872c1ddda860840fbdd Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 18 May 2022 21:40:53 +1000 Subject: [PATCH 132/134] Fix broken calls to offload_task --- InvenTree/plugin/base/integration/mixins.py | 3 ++- InvenTree/plugin/base/locate/api.py | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/InvenTree/plugin/base/integration/mixins.py b/InvenTree/plugin/base/integration/mixins.py index 86e3092e4f..64de5df22b 100644 --- a/InvenTree/plugin/base/integration/mixins.py +++ b/InvenTree/plugin/base/integration/mixins.py @@ -13,6 +13,7 @@ import InvenTree.helpers from plugin.helpers import MixinImplementationError, MixinNotImplementedError, render_template from plugin.models import PluginConfig, PluginSetting +from plugin.registry import registry from plugin.urls import PLUGIN_BASE @@ -204,7 +205,7 @@ class ScheduleMixin: Schedule.objects.create( name=task_name, - func='plugin.registry.call_function', + func=registry.call_plugin_function, args=f"'{slug}', '{func_name}'", schedule_type=task['schedule'], minutes=task.get('minutes', None), diff --git a/InvenTree/plugin/base/locate/api.py b/InvenTree/plugin/base/locate/api.py index a6776f2d40..f617ba3577 100644 --- a/InvenTree/plugin/base/locate/api.py +++ b/InvenTree/plugin/base/locate/api.py @@ -7,7 +7,7 @@ from rest_framework.views import APIView from InvenTree.tasks import offload_task -from plugin import registry +from plugin.registry import registry from stock.models import StockItem, StockLocation @@ -53,7 +53,7 @@ class LocatePluginView(APIView): try: StockItem.objects.get(pk=item_pk) - offload_task(registry.call_function, plugin, 'locate_stock_item', item_pk) + offload_task(registry.call_plugin_function, plugin, 'locate_stock_item', item_pk) data['item'] = item_pk @@ -66,7 +66,7 @@ class LocatePluginView(APIView): try: StockLocation.objects.get(pk=location_pk) - offload_task(registry.call_function, plugin, 'locate_stock_location', location_pk) + offload_task(registry.call_plugin_function, plugin, 'locate_stock_location', location_pk) data['location'] = location_pk From dd476ce796103f2a8fe84a0be240604249a060a8 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 18 May 2022 22:20:29 +1000 Subject: [PATCH 133/134] Add unit tests for the 'locate' plugin - Test various failure modes - Some of the failure modes didn't fail - this is also a failure - Fixing API code accordingly --- InvenTree/plugin/base/locate/api.py | 14 ++-- InvenTree/plugin/base/locate/test_locate.py | 89 +++++++++++++++++++++ 2 files changed, 95 insertions(+), 8 deletions(-) create mode 100644 InvenTree/plugin/base/locate/test_locate.py diff --git a/InvenTree/plugin/base/locate/api.py b/InvenTree/plugin/base/locate/api.py index f617ba3577..a7effe91b3 100644 --- a/InvenTree/plugin/base/locate/api.py +++ b/InvenTree/plugin/base/locate/api.py @@ -40,9 +40,6 @@ class LocatePluginView(APIView): # StockLocation to identify location_pk = request.data.get('location', None) - if not item_pk and not location_pk: - raise ParseError("Must supply either 'item' or 'location' parameter") - data = { "success": "Identification plugin activated", "plugin": plugin, @@ -59,8 +56,8 @@ class LocatePluginView(APIView): return Response(data) - except StockItem.DoesNotExist: - raise NotFound("StockItem matching PK '{item}' not found") + except (ValueError, StockItem.DoesNotExist): + raise NotFound(f"StockItem matching PK '{item_pk}' not found") elif location_pk: try: @@ -72,8 +69,9 @@ class LocatePluginView(APIView): return Response(data) - except StockLocation.DoesNotExist: - raise NotFound("StockLocation matching PK {'location'} not found") + except (ValueError, StockLocation.DoesNotExist): + raise NotFound(f"StockLocation matching PK '{location_pk}' not found") else: - raise NotFound() + raise ParseError("Must supply either 'item' or 'location' parameter") + diff --git a/InvenTree/plugin/base/locate/test_locate.py b/InvenTree/plugin/base/locate/test_locate.py new file mode 100644 index 0000000000..26fafcca49 --- /dev/null +++ b/InvenTree/plugin/base/locate/test_locate.py @@ -0,0 +1,89 @@ +""" +Unit tests for the 'locate' plugin mixin class +""" + +from django.urls import reverse + +from InvenTree.api_tester import InvenTreeAPITestCase + +from plugin.registry import registry + + +class LocatePluginTests(InvenTreeAPITestCase): + + fixtures = [ + 'category', + 'part', + 'location', + 'stock', + ] + + def test_installed(self): + """Test that a locate plugin is actually installed""" + + plugins = registry.with_mixin('locate') + + self.assertTrue(len(plugins) > 0) + + self.assertTrue('samplelocate' in [p.slug for p in plugins]) + + def test_locate_fail(self): + """Test various API failure modes""" + + url = reverse('api-locate-plugin') + + # Post without a plugin + response = self.post( + url, + {}, + expected_code=400 + ) + + self.assertIn("'plugin' field must be supplied", str(response.data)) + + # Post with a plugin that does not exist, or is invalid + for slug in ['xyz', 'event', 'plugin']: + response = self.post( + url, + { + 'plugin': slug, + }, + expected_code=400, + ) + + self.assertIn(f"Plugin '{slug}' is not installed, or does not support the location mixin", str(response.data)) + + # Post with a valid plugin, but no other data + response = self.post( + url, + { + 'plugin': 'samplelocate', + }, + expected_code=400 + ) + + self.assertIn("Must supply either 'item' or 'location' parameter", str(response.data)) + + # Post with valid plugin, invalid item or location + for pk in ['qq', 99999, -42]: + response = self.post( + url, + { + 'plugin': 'samplelocate', + 'item': pk, + }, + expected_code=404 + ) + + self.assertIn(f"StockItem matching PK '{pk}' not found", str(response.data)) + + response = self.post( + url, + { + 'plugin': 'samplelocate', + 'location': pk, + }, + expected_code=404, + ) + + self.assertIn(f"StockLocation matching PK '{pk}' not found", str(response.data)) \ No newline at end of file From c6590066b865416e5761718e2a61dca06ad44e81 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 18 May 2022 22:46:15 +1000 Subject: [PATCH 134/134] Add tests for successful location - Sample plugin now updates metadata tag --- InvenTree/plugin/base/locate/api.py | 1 - InvenTree/plugin/base/locate/test_locate.py | 63 ++++++++++++++++++- .../plugin/samples/locate/locate_sample.py | 24 ++++++- 3 files changed, 83 insertions(+), 5 deletions(-) diff --git a/InvenTree/plugin/base/locate/api.py b/InvenTree/plugin/base/locate/api.py index a7effe91b3..3004abb262 100644 --- a/InvenTree/plugin/base/locate/api.py +++ b/InvenTree/plugin/base/locate/api.py @@ -74,4 +74,3 @@ class LocatePluginView(APIView): else: raise ParseError("Must supply either 'item' or 'location' parameter") - diff --git a/InvenTree/plugin/base/locate/test_locate.py b/InvenTree/plugin/base/locate/test_locate.py index 26fafcca49..e145c2360b 100644 --- a/InvenTree/plugin/base/locate/test_locate.py +++ b/InvenTree/plugin/base/locate/test_locate.py @@ -7,6 +7,7 @@ from django.urls import reverse from InvenTree.api_tester import InvenTreeAPITestCase from plugin.registry import registry +from stock.models import StockItem, StockLocation class LocatePluginTests(InvenTreeAPITestCase): @@ -29,7 +30,7 @@ class LocatePluginTests(InvenTreeAPITestCase): def test_locate_fail(self): """Test various API failure modes""" - + url = reverse('api-locate-plugin') # Post without a plugin @@ -86,4 +87,62 @@ class LocatePluginTests(InvenTreeAPITestCase): expected_code=404, ) - self.assertIn(f"StockLocation matching PK '{pk}' not found", str(response.data)) \ No newline at end of file + self.assertIn(f"StockLocation matching PK '{pk}' not found", str(response.data)) + + def test_locate_item(self): + """ + Test that the plugin correctly 'locates' a StockItem + + As the background worker is not running during unit testing, + the sample 'locate' function will be called 'inline' + """ + + url = reverse('api-locate-plugin') + + item = StockItem.objects.get(pk=1) + + # The sample plugin will set the 'located' metadata tag + item.set_metadata('located', False) + + response = self.post( + url, + { + 'plugin': 'samplelocate', + 'item': 1, + }, + expected_code=200 + ) + + self.assertEqual(response.data['item'], 1) + + item.refresh_from_db() + + # Item metadata should have been altered! + self.assertTrue(item.metadata['located']) + + def test_locate_location(self): + """ + Test that the plugin correctly 'locates' a StockLocation + """ + + url = reverse('api-locate-plugin') + + for location in StockLocation.objects.all(): + + location.set_metadata('located', False) + + response = self.post( + url, + { + 'plugin': 'samplelocate', + 'location': location.pk, + }, + expected_code=200 + ) + + self.assertEqual(response.data['location'], location.pk) + + location.refresh_from_db() + + # Item metadata should have been altered! + self.assertTrue(location.metadata['located']) diff --git a/InvenTree/plugin/samples/locate/locate_sample.py b/InvenTree/plugin/samples/locate/locate_sample.py index 458b84cfa5..32a2dd713c 100644 --- a/InvenTree/plugin/samples/locate/locate_sample.py +++ b/InvenTree/plugin/samples/locate/locate_sample.py @@ -23,7 +23,23 @@ class SampleLocatePlugin(LocateMixin, InvenTreePlugin): SLUG = "samplelocate" TITLE = "Sample plugin for locating items" - VERSION = "0.1" + VERSION = "0.2" + + def locate_stock_item(self, item_pk): + + from stock.models import StockItem + + logger.info(f"SampleLocatePlugin attempting to locate item ID {item_pk}") + + try: + item = StockItem.objects.get(pk=item_pk) + logger.info(f"StockItem {item_pk} located!") + + # Tag metadata + item.set_metadata('located', True) + + except (ValueError, StockItem.DoesNotExist): + logger.error(f"StockItem ID {item_pk} does not exist!") def locate_stock_location(self, location_pk): @@ -34,5 +50,9 @@ class SampleLocatePlugin(LocateMixin, InvenTreePlugin): try: location = StockLocation.objects.get(pk=location_pk) logger.info(f"Location exists at '{location.pathstring}'") - except StockLocation.DoesNotExist: + + # Tag metadata + location.set_metadata('located', True) + + except (ValueError, StockLocation.DoesNotExist): logger.error(f"Location ID {location_pk} does not exist!")